view graal/com.oracle.max.asmdis/src/com/sun/max/asm/amd64/complete/AMD64RawAssembler.java @ 4142:bc8527f3071c

Adjust code base to new level of warnings.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Sun, 18 Dec 2011 05:24:06 +0100
parents e233f5660da4
children
line wrap: on
line source

/*
 * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */

package com.sun.max.asm.amd64.complete;

import com.sun.max.asm.*;
import com.sun.max.asm.amd64.*;
import com.sun.max.asm.x86.*;

@SuppressWarnings("all")
public class AMD64RawAssembler extends AbstractAMD64Assembler {

    public AMD64RawAssembler(long startAddress) {
        super(startAddress);
    }

    public AMD64RawAssembler() {
    }

    @Override
    protected void emitPadding(int numberOfBytes) throws AssemblyException {
        for (int i = 0; i < numberOfBytes; i++) {
            nop();
        }
    }

// START GENERATED RAW ASSEMBLER METHODS
    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>imm8</i>
     * Example disassembly syntax: {@code adc       al, 0x12}
     */
    // Template#: 1, Serial#: 223
    public void adc_AL(byte imm8) {
        assemble0001((byte) 0x14, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>imm8</i>
     * Example disassembly syntax: {@code adc       al, 0x12}
     */
    // Template#: 2, Serial#: 224
    public void adc_AL_r224(byte imm8) {
        assemble0002((byte) 0x14, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>imm8</i>
     * Example disassembly syntax: {@code adc       al, 0x12}
     */
    // Template#: 3, Serial#: 225
    public void adc_AL_r225(byte imm8) {
        assemble0003((byte) 0x14, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 4, Serial#: 534
    public void adcb(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0x80, (byte) 0x02, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 5, Serial#: 606
    public void adcb_r606(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0x80, (byte) 0x02, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 6, Serial#: 678
    public void adcb_r678(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0x80, (byte) 0x02, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcl      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 7, Serial#: 966
    public void adcl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0x83, (byte) 0x02, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcq      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 8, Serial#: 1038
    public void adcq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0x83, (byte) 0x02, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcw      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 9, Serial#: 1110
    public void adcw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0x83, (byte) 0x02, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       rbx[rsi * 4 + 18], ax}
     */
    // Template#: 10, Serial#: 165
    public void adc(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0007((byte) 0x11, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       rbx[rsi * 4 + 18], eax}
     */
    // Template#: 11, Serial#: 147
    public void adc(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0008((byte) 0x11, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       rbx[rsi * 4 + 18], rax}
     */
    // Template#: 12, Serial#: 156
    public void adc(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0009((byte) 0x11, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       rbx[rsi * 4 + 18], al}
     */
    // Template#: 13, Serial#: 120
    public void adc(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0010((byte) 0x10, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       rbx[rsi * 4 + 18], al}
     */
    // Template#: 14, Serial#: 129
    public void adc_r129(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0011((byte) 0x10, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       rbx[rsi * 4 + 18], al}
     */
    // Template#: 15, Serial#: 138
    public void adc_r138(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0012((byte) 0x10, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code adcl      rbx[rsi * 4 + 18], 0x12345678}
     */
    // Template#: 16, Serial#: 750
    public void adcl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0013((byte) 0x81, (byte) 0x02, disp8, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code adcq      rbx[rsi * 4 + 18], 0x12345678}
     */
    // Template#: 17, Serial#: 822
    public void adcq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0014((byte) 0x81, (byte) 0x02, disp8, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code adcw      rbx[rsi * 4 + 18], 0x1234}
     */
    // Template#: 18, Serial#: 894
    public void adcw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0015((byte) 0x81, (byte) 0x02, disp8, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcb      [rbx + 18], 0x12}
     */
    // Template#: 19, Serial#: 533
    public void adcb(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0x80, (byte) 0x02, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcb      [rbx + 18], 0x12}
     */
    // Template#: 20, Serial#: 605
    public void adcb_r605(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0x80, (byte) 0x02, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcb      [rbx + 18], 0x12}
     */
    // Template#: 21, Serial#: 677
    public void adcb_r677(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0x80, (byte) 0x02, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcl  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcl      [rbx + 18], 0x12}
     */
    // Template#: 22, Serial#: 965
    public void adcl(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0x83, (byte) 0x02, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcq  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcq      [rbx + 18], 0x12}
     */
    // Template#: 23, Serial#: 1037
    public void adcq(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0x83, (byte) 0x02, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcw  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcw      [rbx + 18], 0x12}
     */
    // Template#: 24, Serial#: 1109
    public void adcw(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0x83, (byte) 0x02, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       [rbx + 18], ax}
     */
    // Template#: 25, Serial#: 164
    public void adc(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0019((byte) 0x11, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       [rbx + 18], eax}
     */
    // Template#: 26, Serial#: 146
    public void adc(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0020((byte) 0x11, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       [rbx + 18], rax}
     */
    // Template#: 27, Serial#: 155
    public void adc(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0021((byte) 0x11, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       [rbx + 18], al}
     */
    // Template#: 28, Serial#: 119
    public void adc(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0022((byte) 0x10, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       [rbx + 18], al}
     */
    // Template#: 29, Serial#: 128
    public void adc_r128(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0023((byte) 0x10, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       [rbx + 18], al}
     */
    // Template#: 30, Serial#: 137
    public void adc_r137(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0024((byte) 0x10, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcl  }<i>disp8</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code adcl      [rbx + 18], 0x12345678}
     */
    // Template#: 31, Serial#: 749
    public void adcl(byte disp8, AMD64IndirectRegister64 destination, int imm32) {
        assemble0025((byte) 0x81, (byte) 0x02, disp8, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcq  }<i>disp8</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code adcq      [rbx + 18], 0x12345678}
     */
    // Template#: 32, Serial#: 821
    public void adcq(byte disp8, AMD64IndirectRegister64 destination, int imm32) {
        assemble0026((byte) 0x81, (byte) 0x02, disp8, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcw  }<i>disp8</i>, <i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code adcw      [rbx + 18], 0x1234}
     */
    // Template#: 33, Serial#: 893
    public void adcw(byte disp8, AMD64IndirectRegister64 destination, short imm16) {
        assemble0027((byte) 0x81, (byte) 0x02, disp8, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcb      rbx[rsi * 4], 0x12}
     */
    // Template#: 34, Serial#: 506
    public void adcb(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0x80, (byte) 0x02, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcb      rbx[rsi * 4], 0x12}
     */
    // Template#: 35, Serial#: 578
    public void adcb_r578(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0x80, (byte) 0x02, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcb      rbx[rsi * 4], 0x12}
     */
    // Template#: 36, Serial#: 650
    public void adcb_r650(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0x80, (byte) 0x02, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcl  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcl      rbx[rsi * 4], 0x12}
     */
    // Template#: 37, Serial#: 938
    public void adcl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0x83, (byte) 0x02, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcq      rbx[rsi * 4], 0x12}
     */
    // Template#: 38, Serial#: 1010
    public void adcq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0x83, (byte) 0x02, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcw  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcw      rbx[rsi * 4], 0x12}
     */
    // Template#: 39, Serial#: 1082
    public void adcw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0x83, (byte) 0x02, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       rbx[rsi * 4], ax}
     */
    // Template#: 40, Serial#: 161
    public void adc(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0031((byte) 0x11, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       rbx[rsi * 4], eax}
     */
    // Template#: 41, Serial#: 143
    public void adc(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0032((byte) 0x11, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       rbx[rsi * 4], rax}
     */
    // Template#: 42, Serial#: 152
    public void adc(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0033((byte) 0x11, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       rbx[rsi * 4], al}
     */
    // Template#: 43, Serial#: 116
    public void adc(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0034((byte) 0x10, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       rbx[rsi * 4], al}
     */
    // Template#: 44, Serial#: 125
    public void adc_r125(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0035((byte) 0x10, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       rbx[rsi * 4], al}
     */
    // Template#: 45, Serial#: 134
    public void adc_r134(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0036((byte) 0x10, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcl  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code adcl      rbx[rsi * 4], 0x12345678}
     */
    // Template#: 46, Serial#: 722
    public void adcl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0037((byte) 0x81, (byte) 0x02, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code adcq      rbx[rsi * 4], 0x12345678}
     */
    // Template#: 47, Serial#: 794
    public void adcq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0038((byte) 0x81, (byte) 0x02, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcw  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code adcw      rbx[rsi * 4], 0x1234}
     */
    // Template#: 48, Serial#: 866
    public void adcw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0039((byte) 0x81, (byte) 0x02, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcw      ax, 0x12}
     */
    // Template#: 49, Serial#: 1139
    public void adcw(AMD64GeneralRegister16 destination, byte imm8) {
        assemble0040((byte) 0x83, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code adc       ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 50, Serial#: 219
    public void adc(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0041((byte) 0x13, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       ax, [rbx + 18]}
     */
    // Template#: 51, Serial#: 218
    public void adc(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0042((byte) 0x13, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code adc       ax, rbx[rsi * 4]}
     */
    // Template#: 52, Serial#: 215
    public void adc(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0043((byte) 0x13, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       ax, ax}
     */
    // Template#: 53, Serial#: 168
    public void adc(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0044((byte) 0x11, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       ax, ax}
     */
    // Template#: 54, Serial#: 222
    public void adc_r222(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0045((byte) 0x13, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       ax, [rbx]}
     */
    // Template#: 55, Serial#: 214
    public void adc(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0046((byte) 0x13, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code adc       ax, [L1: +305419896]}
     */
    // Template#: 56, Serial#: 217
    public void rip_adc(AMD64GeneralRegister16 destination, int rel32) {
        assemble0047((byte) 0x13, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code adc       ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 57, Serial#: 221
    public void adc(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0048((byte) 0x13, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code adc       ax, 0x12345678[rsi * 4]}
     */
    // Template#: 58, Serial#: 216
    public void m_adc(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0049((byte) 0x13, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       ax, [rbx + 305419896]}
     */
    // Template#: 59, Serial#: 220
    public void adc(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0050((byte) 0x13, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcw  }<i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code adcw      ax, 0x1234}
     */
    // Template#: 60, Serial#: 923
    public void adcw(AMD64GeneralRegister16 destination, short imm16) {
        assemble0051((byte) 0x81, (byte) 0x02, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcl  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcl      eax, 0x12}
     */
    // Template#: 61, Serial#: 995
    public void adcl(AMD64GeneralRegister32 destination, byte imm8) {
        assemble0052((byte) 0x83, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code adc       eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 62, Serial#: 201
    public void adc(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0053((byte) 0x13, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       eax, [rbx + 18]}
     */
    // Template#: 63, Serial#: 200
    public void adc(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0054((byte) 0x13, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code adc       eax, rbx[rsi * 4]}
     */
    // Template#: 64, Serial#: 197
    public void adc(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0055((byte) 0x13, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       eax, eax}
     */
    // Template#: 65, Serial#: 150
    public void adc(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0056((byte) 0x11, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       eax, eax}
     */
    // Template#: 66, Serial#: 204
    public void adc_r204(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0057((byte) 0x13, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       eax, [rbx]}
     */
    // Template#: 67, Serial#: 196
    public void adc(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0058((byte) 0x13, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code adc       eax, [L1: +305419896]}
     */
    // Template#: 68, Serial#: 199
    public void rip_adc(AMD64GeneralRegister32 destination, int rel32) {
        assemble0059((byte) 0x13, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcl  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code adcl      eax, 0x12345678}
     */
    // Template#: 69, Serial#: 779
    public void adcl(AMD64GeneralRegister32 destination, int imm32) {
        assemble0060((byte) 0x81, (byte) 0x02, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code adc       eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 70, Serial#: 203
    public void adc(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0061((byte) 0x13, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code adc       eax, 0x12345678[rsi * 4]}
     */
    // Template#: 71, Serial#: 198
    public void m_adc(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0062((byte) 0x13, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       eax, [rbx + 305419896]}
     */
    // Template#: 72, Serial#: 202
    public void adc(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0063((byte) 0x13, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcq      rax, 0x12}
     */
    // Template#: 73, Serial#: 1067
    public void adcq(AMD64GeneralRegister64 destination, byte imm8) {
        assemble0064((byte) 0x83, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code adc       rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 74, Serial#: 210
    public void adc(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0065((byte) 0x13, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       rax, [rbx + 18]}
     */
    // Template#: 75, Serial#: 209
    public void adc(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0066((byte) 0x13, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code adc       rax, rbx[rsi * 4]}
     */
    // Template#: 76, Serial#: 206
    public void adc(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0067((byte) 0x13, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       rax, rax}
     */
    // Template#: 77, Serial#: 159
    public void adc(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0068((byte) 0x11, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       rax, rax}
     */
    // Template#: 78, Serial#: 213
    public void adc_r213(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0069((byte) 0x13, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       rax, [rbx]}
     */
    // Template#: 79, Serial#: 205
    public void adc(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0070((byte) 0x13, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code adc       rax, [L1: +305419896]}
     */
    // Template#: 80, Serial#: 208
    public void rip_adc(AMD64GeneralRegister64 destination, int rel32) {
        assemble0071((byte) 0x13, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcq  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code adcq      rax, 0x12345678}
     */
    // Template#: 81, Serial#: 851
    public void adcq(AMD64GeneralRegister64 destination, int imm32) {
        assemble0072((byte) 0x81, (byte) 0x02, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code adc       rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 82, Serial#: 212
    public void adc(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0073((byte) 0x13, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code adc       rax, 0x12345678[rsi * 4]}
     */
    // Template#: 83, Serial#: 207
    public void m_adc(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0074((byte) 0x13, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       rax, [rbx + 305419896]}
     */
    // Template#: 84, Serial#: 211
    public void adc(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0075((byte) 0x13, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcb      al, 0x12}
     */
    // Template#: 85, Serial#: 563
    public void adcb(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0076((byte) 0x80, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcb      al, 0x12}
     */
    // Template#: 86, Serial#: 635
    public void adcb_r635(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0077((byte) 0x80, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcb      al, 0x12}
     */
    // Template#: 87, Serial#: 707
    public void adcb_r707(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0078((byte) 0x80, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code adc       al, rbx[rsi * 4 + 18]}
     */
    // Template#: 88, Serial#: 174
    public void adc(AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0079((byte) 0x12, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code adc       al, rbx[rsi * 4 + 18]}
     */
    // Template#: 89, Serial#: 183
    public void adc_r183(AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0080((byte) 0x12, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code adc       al, rbx[rsi * 4 + 18]}
     */
    // Template#: 90, Serial#: 192
    public void adc_r192(AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0081((byte) 0x12, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       al, [rbx + 18]}
     */
    // Template#: 91, Serial#: 173
    public void adc(AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0082((byte) 0x12, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       al, [rbx + 18]}
     */
    // Template#: 92, Serial#: 182
    public void adc_r182(AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0083((byte) 0x12, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       al, [rbx + 18]}
     */
    // Template#: 93, Serial#: 191
    public void adc_r191(AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0084((byte) 0x12, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code adc       al, rbx[rsi * 4]}
     */
    // Template#: 94, Serial#: 170
    public void adc(AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0085((byte) 0x12, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code adc       al, rbx[rsi * 4]}
     */
    // Template#: 95, Serial#: 179
    public void adc_r179(AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0086((byte) 0x12, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code adc       al, rbx[rsi * 4]}
     */
    // Template#: 96, Serial#: 188
    public void adc_r188(AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0087((byte) 0x12, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       al, al}
     */
    // Template#: 97, Serial#: 123
    public void adc(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0088((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       al, al}
     */
    // Template#: 98, Serial#: 132
    public void adc_r132(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0089((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       al, al}
     */
    // Template#: 99, Serial#: 141
    public void adc_r141(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0090((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       al, al}
     */
    // Template#: 100, Serial#: 177
    public void adc_r177(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0091((byte) 0x12, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       al, al}
     */
    // Template#: 101, Serial#: 186
    public void adc_r186(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0092((byte) 0x12, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       al, al}
     */
    // Template#: 102, Serial#: 195
    public void adc_r195(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0093((byte) 0x12, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       al, [rbx]}
     */
    // Template#: 103, Serial#: 169
    public void adc(AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        assemble0094((byte) 0x12, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       al, [rbx]}
     */
    // Template#: 104, Serial#: 178
    public void adc_r178(AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        assemble0095((byte) 0x12, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       al, [rbx]}
     */
    // Template#: 105, Serial#: 187
    public void adc_r187(AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        assemble0096((byte) 0x12, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code adc       al, [L1: +305419896]}
     */
    // Template#: 106, Serial#: 172
    public void rip_adc(AMD64GeneralRegister8 destination, int rel32) {
        assemble0097((byte) 0x12, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code adc       al, [L1: +305419896]}
     */
    // Template#: 107, Serial#: 181
    public void rip_adc_r181(AMD64GeneralRegister8 destination, int rel32) {
        assemble0098((byte) 0x12, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code adc       al, [L1: +305419896]}
     */
    // Template#: 108, Serial#: 190
    public void rip_adc_r190(AMD64GeneralRegister8 destination, int rel32) {
        assemble0099((byte) 0x12, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code adc       al, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 109, Serial#: 176
    public void adc(AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0100((byte) 0x12, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code adc       al, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 110, Serial#: 185
    public void adc_r185(AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0101((byte) 0x12, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code adc       al, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 111, Serial#: 194
    public void adc_r194(AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0102((byte) 0x12, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code adc       al, 0x12345678[rsi * 4]}
     */
    // Template#: 112, Serial#: 171
    public void m_adc(AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0103((byte) 0x12, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code adc       al, 0x12345678[rsi * 4]}
     */
    // Template#: 113, Serial#: 180
    public void m_adc_r180(AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0104((byte) 0x12, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code adc       al, 0x12345678[rsi * 4]}
     */
    // Template#: 114, Serial#: 189
    public void m_adc_r189(AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0105((byte) 0x12, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       al, [rbx + 305419896]}
     */
    // Template#: 115, Serial#: 175
    public void adc(AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0106((byte) 0x12, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       al, [rbx + 305419896]}
     */
    // Template#: 116, Serial#: 184
    public void adc_r184(AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0107((byte) 0x12, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       al, [rbx + 305419896]}
     */
    // Template#: 117, Serial#: 193
    public void adc_r193(AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0108((byte) 0x12, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcb      [rbx], 0x12}
     */
    // Template#: 118, Serial#: 505
    public void adcb(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0x80, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcb      [rbx], 0x12}
     */
    // Template#: 119, Serial#: 577
    public void adcb_r577(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0x80, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcb      [rbx], 0x12}
     */
    // Template#: 120, Serial#: 649
    public void adcb_r649(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0x80, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcl  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcl      [rbx], 0x12}
     */
    // Template#: 121, Serial#: 937
    public void adcl(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0x83, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcq      [rbx], 0x12}
     */
    // Template#: 122, Serial#: 1009
    public void adcq(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0x83, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcw      [rbx], 0x12}
     */
    // Template#: 123, Serial#: 1081
    public void adcw(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0x83, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       [rbx], ax}
     */
    // Template#: 124, Serial#: 160
    public void adc(AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0112((byte) 0x11, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       [rbx], eax}
     */
    // Template#: 125, Serial#: 142
    public void adc(AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0113((byte) 0x11, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       [rbx], rax}
     */
    // Template#: 126, Serial#: 151
    public void adc(AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0114((byte) 0x11, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       [rbx], al}
     */
    // Template#: 127, Serial#: 115
    public void adc(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0115((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       [rbx], al}
     */
    // Template#: 128, Serial#: 124
    public void adc_r124(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0116((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       [rbx], al}
     */
    // Template#: 129, Serial#: 133
    public void adc_r133(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0117((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcl  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code adcl      [rbx], 0x12345678}
     */
    // Template#: 130, Serial#: 721
    public void adcl(AMD64IndirectRegister64 destination, int imm32) {
        assemble0118((byte) 0x81, (byte) 0x02, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcq  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code adcq      [rbx], 0x12345678}
     */
    // Template#: 131, Serial#: 793
    public void adcq(AMD64IndirectRegister64 destination, int imm32) {
        assemble0119((byte) 0x81, (byte) 0x02, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcw  }<i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code adcw      [rbx], 0x1234}
     */
    // Template#: 132, Serial#: 865
    public void adcw(AMD64IndirectRegister64 destination, short imm16) {
        assemble0120((byte) 0x81, (byte) 0x02, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>imm32</i>
     * Example disassembly syntax: {@code adc       eax, 0x12345678}
     */
    // Template#: 133, Serial#: 226
    public void adc_EAX(int imm32) {
        assemble0121((byte) 0x15, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>imm32</i>
     * Example disassembly syntax: {@code adc       rax, 0x12345678}
     */
    // Template#: 134, Serial#: 227
    public void adc_RAX(int imm32) {
        assemble0122((byte) 0x15, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcb      [L1: +305419896], 0x12}
     */
    // Template#: 135, Serial#: 508
    public void rip_adcb(int rel32, byte imm8) {
        assemble0123((byte) 0x80, (byte) 0x02, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcb      [L1: +305419896], 0x12}
     */
    // Template#: 136, Serial#: 580
    public void rip_adcb_r580(int rel32, byte imm8) {
        assemble0124((byte) 0x80, (byte) 0x02, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcb      [L1: +305419896], 0x12}
     */
    // Template#: 137, Serial#: 652
    public void rip_adcb_r652(int rel32, byte imm8) {
        assemble0125((byte) 0x80, (byte) 0x02, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcl  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcl      [L1: +305419896], 0x12}
     */
    // Template#: 138, Serial#: 940
    public void rip_adcl(int rel32, byte imm8) {
        assemble0123((byte) 0x83, (byte) 0x02, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcq  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcq      [L1: +305419896], 0x12}
     */
    // Template#: 139, Serial#: 1012
    public void rip_adcq(int rel32, byte imm8) {
        assemble0124((byte) 0x83, (byte) 0x02, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcw  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcw      [L1: +305419896], 0x12}
     */
    // Template#: 140, Serial#: 1084
    public void rip_adcw(int rel32, byte imm8) {
        assemble0125((byte) 0x83, (byte) 0x02, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 141, Serial#: 550
    public void adcb(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0x80, (byte) 0x02, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 142, Serial#: 622
    public void adcb_r622(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0x80, (byte) 0x02, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 143, Serial#: 694
    public void adcb_r694(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0x80, (byte) 0x02, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcl      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 144, Serial#: 982
    public void adcl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0x83, (byte) 0x02, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcq      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 145, Serial#: 1054
    public void adcq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0x83, (byte) 0x02, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcw      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 146, Serial#: 1126
    public void adcw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0x83, (byte) 0x02, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       rbx[rsi * 4 + 305419896], ax}
     */
    // Template#: 147, Serial#: 167
    public void adc(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0129((byte) 0x11, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       rbx[rsi * 4 + 305419896], eax}
     */
    // Template#: 148, Serial#: 149
    public void adc(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0130((byte) 0x11, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       rbx[rsi * 4 + 305419896], rax}
     */
    // Template#: 149, Serial#: 158
    public void adc(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0131((byte) 0x11, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 150, Serial#: 122
    public void adc(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0132((byte) 0x10, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 151, Serial#: 131
    public void adc_r131(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0133((byte) 0x10, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 152, Serial#: 140
    public void adc_r140(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0134((byte) 0x10, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code adcl      rbx[rsi * 4 + 305419896], 0x12345678}
     */
    // Template#: 153, Serial#: 766
    public void adcl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0135((byte) 0x81, (byte) 0x02, disp32, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code adcq      rbx[rsi * 4 + 305419896], 0x12345678}
     */
    // Template#: 154, Serial#: 838
    public void adcq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0136((byte) 0x81, (byte) 0x02, disp32, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code adcw      rbx[rsi * 4 + 305419896], 0x1234}
     */
    // Template#: 155, Serial#: 910
    public void adcw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0137((byte) 0x81, (byte) 0x02, disp32, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       [L1: +305419896], ax}
     */
    // Template#: 156, Serial#: 163
    public void rip_adc(int rel32, AMD64GeneralRegister16 source) {
        assemble0138((byte) 0x11, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       [L1: +305419896], eax}
     */
    // Template#: 157, Serial#: 145
    public void rip_adc(int rel32, AMD64GeneralRegister32 source) {
        assemble0139((byte) 0x11, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       [L1: +305419896], rax}
     */
    // Template#: 158, Serial#: 154
    public void rip_adc(int rel32, AMD64GeneralRegister64 source) {
        assemble0140((byte) 0x11, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       [L1: +305419896], al}
     */
    // Template#: 159, Serial#: 118
    public void rip_adc(int rel32, AMD64GeneralRegister8 source) {
        assemble0141((byte) 0x10, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       [L1: +305419896], al}
     */
    // Template#: 160, Serial#: 127
    public void rip_adc_r127(int rel32, AMD64GeneralRegister8 source) {
        assemble0142((byte) 0x10, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       [L1: +305419896], al}
     */
    // Template#: 161, Serial#: 136
    public void rip_adc_r136(int rel32, AMD64GeneralRegister8 source) {
        assemble0143((byte) 0x10, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 162, Serial#: 507
    public void m_adcb(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0x80, (byte) 0x02, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 163, Serial#: 579
    public void m_adcb_r579(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0x80, (byte) 0x02, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 164, Serial#: 651
    public void m_adcb_r651(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0x80, (byte) 0x02, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcl  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcl      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 165, Serial#: 939
    public void m_adcl(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0x83, (byte) 0x02, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcq      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 166, Serial#: 1011
    public void m_adcq(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0x83, (byte) 0x02, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcw  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcw      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 167, Serial#: 1083
    public void m_adcw(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0x83, (byte) 0x02, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       0x12345678[rsi * 4], ax}
     */
    // Template#: 168, Serial#: 162
    public void m_adc(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0147((byte) 0x11, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       0x12345678[rsi * 4], eax}
     */
    // Template#: 169, Serial#: 144
    public void m_adc(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0148((byte) 0x11, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       0x12345678[rsi * 4], rax}
     */
    // Template#: 170, Serial#: 153
    public void m_adc(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0149((byte) 0x11, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       0x12345678[rsi * 4], al}
     */
    // Template#: 171, Serial#: 117
    public void m_adc(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0150((byte) 0x10, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       0x12345678[rsi * 4], al}
     */
    // Template#: 172, Serial#: 126
    public void m_adc_r126(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0151((byte) 0x10, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       0x12345678[rsi * 4], al}
     */
    // Template#: 173, Serial#: 135
    public void m_adc_r135(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0152((byte) 0x10, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcl  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code adcl      0x12345678[rsi * 4], 0x12345678}
     */
    // Template#: 174, Serial#: 723
    public void m_adcl(int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0153((byte) 0x81, (byte) 0x02, m32, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code adcq      0x12345678[rsi * 4], 0x12345678}
     */
    // Template#: 175, Serial#: 795
    public void m_adcq(int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0154((byte) 0x81, (byte) 0x02, m32, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcw  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code adcw      0x12345678[rsi * 4], 0x1234}
     */
    // Template#: 176, Serial#: 867
    public void m_adcw(int m32, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0155((byte) 0x81, (byte) 0x02, m32, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcb      [rbx + 305419896], 0x12}
     */
    // Template#: 177, Serial#: 549
    public void adcb(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0x80, (byte) 0x02, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcb      [rbx + 305419896], 0x12}
     */
    // Template#: 178, Serial#: 621
    public void adcb_r621(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0x80, (byte) 0x02, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcb      [rbx + 305419896], 0x12}
     */
    // Template#: 179, Serial#: 693
    public void adcb_r693(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0x80, (byte) 0x02, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcl  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcl      [rbx + 305419896], 0x12}
     */
    // Template#: 180, Serial#: 981
    public void adcl(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0x83, (byte) 0x02, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcq  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcq      [rbx + 305419896], 0x12}
     */
    // Template#: 181, Serial#: 1053
    public void adcq(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0x83, (byte) 0x02, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcw  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code adcw      [rbx + 305419896], 0x12}
     */
    // Template#: 182, Serial#: 1125
    public void adcw(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0x83, (byte) 0x02, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       [rbx + 305419896], ax}
     */
    // Template#: 183, Serial#: 166
    public void adc(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0159((byte) 0x11, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       [rbx + 305419896], eax}
     */
    // Template#: 184, Serial#: 148
    public void adc(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0160((byte) 0x11, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       [rbx + 305419896], rax}
     */
    // Template#: 185, Serial#: 157
    public void adc(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0161((byte) 0x11, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       [rbx + 305419896], al}
     */
    // Template#: 186, Serial#: 121
    public void adc(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0162((byte) 0x10, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       [rbx + 305419896], al}
     */
    // Template#: 187, Serial#: 130
    public void adc_r130(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0163((byte) 0x10, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code adc       [rbx + 305419896], al}
     */
    // Template#: 188, Serial#: 139
    public void adc_r139(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0164((byte) 0x10, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcl  }<i>disp32</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code adcl      [rbx + 305419896], 0x12345678}
     */
    // Template#: 189, Serial#: 765
    public void adcl(int disp32, AMD64IndirectRegister64 destination, int imm32) {
        assemble0165((byte) 0x81, (byte) 0x02, disp32, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcq  }<i>disp32</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code adcq      [rbx + 305419896], 0x12345678}
     */
    // Template#: 190, Serial#: 837
    public void adcq(int disp32, AMD64IndirectRegister64 destination, int imm32) {
        assemble0166((byte) 0x81, (byte) 0x02, disp32, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcw  }<i>disp32</i>, <i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code adcw      [rbx + 305419896], 0x1234}
     */
    // Template#: 191, Serial#: 909
    public void adcw(int disp32, AMD64IndirectRegister64 destination, short imm16) {
        assemble0167((byte) 0x81, (byte) 0x02, disp32, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcl  }<i>rel32</i>, <i>imm32</i>
     * Example disassembly syntax: {@code adcl      [L1: +305419896], 0x12345678}
     */
    // Template#: 192, Serial#: 724
    public void rip_adcl(int rel32, int imm32) {
        assemble0168((byte) 0x81, (byte) 0x02, rel32, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcq  }<i>rel32</i>, <i>imm32</i>
     * Example disassembly syntax: {@code adcq      [L1: +305419896], 0x12345678}
     */
    // Template#: 193, Serial#: 796
    public void rip_adcq(int rel32, int imm32) {
        assemble0169((byte) 0x81, (byte) 0x02, rel32, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code adcw  }<i>rel32</i>, <i>imm16</i>
     * Example disassembly syntax: {@code adcw      [L1: +305419896], 0x1234}
     */
    // Template#: 194, Serial#: 868
    public void rip_adcw(int rel32, short imm16) {
        assemble0170((byte) 0x81, (byte) 0x02, rel32, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code adc  }<i>imm16</i>
     * Example disassembly syntax: {@code adc       ax, 0x1234}
     */
    // Template#: 195, Serial#: 228
    public void adc_AX(short imm16) {
        assemble0171((byte) 0x15, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>imm8</i>
     * Example disassembly syntax: {@code add       al, 0x12}
     */
    // Template#: 196, Serial#: 109
    public void add_AL(byte imm8) {
        assemble0001((byte) 0x04, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>imm8</i>
     * Example disassembly syntax: {@code add       al, 0x12}
     */
    // Template#: 197, Serial#: 110
    public void add_AL_r110(byte imm8) {
        assemble0002((byte) 0x04, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>imm8</i>
     * Example disassembly syntax: {@code add       al, 0x12}
     */
    // Template#: 198, Serial#: 111
    public void add_AL_r111(byte imm8) {
        assemble0003((byte) 0x04, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 199, Serial#: 530
    public void addb(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0x80, (byte) 0x00, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 200, Serial#: 602
    public void addb_r602(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0x80, (byte) 0x00, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 201, Serial#: 674
    public void addb_r674(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0x80, (byte) 0x00, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addl      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 202, Serial#: 962
    public void addl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0x83, (byte) 0x00, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addq      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 203, Serial#: 1034
    public void addq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0x83, (byte) 0x00, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addw      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 204, Serial#: 1106
    public void addw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0x83, (byte) 0x00, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code add       rbx[rsi * 4 + 18], ax}
     */
    // Template#: 205, Serial#: 51
    public void add(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0007((byte) 0x01, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code add       rbx[rsi * 4 + 18], eax}
     */
    // Template#: 206, Serial#: 33
    public void add(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0008((byte) 0x01, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code add       rbx[rsi * 4 + 18], rax}
     */
    // Template#: 207, Serial#: 42
    public void add(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0009((byte) 0x01, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code add       rbx[rsi * 4 + 18], al}
     */
    // Template#: 208, Serial#: 6
    public void add(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0010((byte) 0x00, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code add       rbx[rsi * 4 + 18], al}
     */
    // Template#: 209, Serial#: 15
    public void add_r15(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0011((byte) 0x00, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code add       rbx[rsi * 4 + 18], al}
     */
    // Template#: 210, Serial#: 24
    public void add_r24(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0012((byte) 0x00, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code addl      rbx[rsi * 4 + 18], 0x12345678}
     */
    // Template#: 211, Serial#: 746
    public void addl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0013((byte) 0x81, (byte) 0x00, disp8, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code addq      rbx[rsi * 4 + 18], 0x12345678}
     */
    // Template#: 212, Serial#: 818
    public void addq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0014((byte) 0x81, (byte) 0x00, disp8, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code addw      rbx[rsi * 4 + 18], 0x1234}
     */
    // Template#: 213, Serial#: 890
    public void addw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0015((byte) 0x81, (byte) 0x00, disp8, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code addb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addb      [rbx + 18], 0x12}
     */
    // Template#: 214, Serial#: 529
    public void addb(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0x80, (byte) 0x00, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addb      [rbx + 18], 0x12}
     */
    // Template#: 215, Serial#: 601
    public void addb_r601(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0x80, (byte) 0x00, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addb      [rbx + 18], 0x12}
     */
    // Template#: 216, Serial#: 673
    public void addb_r673(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0x80, (byte) 0x00, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addl  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addl      [rbx + 18], 0x12}
     */
    // Template#: 217, Serial#: 961
    public void addl(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0x83, (byte) 0x00, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addq  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addq      [rbx + 18], 0x12}
     */
    // Template#: 218, Serial#: 1033
    public void addq(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0x83, (byte) 0x00, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addw  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addw      [rbx + 18], 0x12}
     */
    // Template#: 219, Serial#: 1105
    public void addw(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0x83, (byte) 0x00, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       [rbx + 18], ax}
     */
    // Template#: 220, Serial#: 50
    public void add(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0019((byte) 0x01, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       [rbx + 18], eax}
     */
    // Template#: 221, Serial#: 32
    public void add(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0020((byte) 0x01, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       [rbx + 18], rax}
     */
    // Template#: 222, Serial#: 41
    public void add(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0021((byte) 0x01, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       [rbx + 18], al}
     */
    // Template#: 223, Serial#: 5
    public void add(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0022((byte) 0x00, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       [rbx + 18], al}
     */
    // Template#: 224, Serial#: 14
    public void add_r14(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0023((byte) 0x00, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       [rbx + 18], al}
     */
    // Template#: 225, Serial#: 23
    public void add_r23(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0024((byte) 0x00, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addl  }<i>disp8</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code addl      [rbx + 18], 0x12345678}
     */
    // Template#: 226, Serial#: 745
    public void addl(byte disp8, AMD64IndirectRegister64 destination, int imm32) {
        assemble0025((byte) 0x81, (byte) 0x00, disp8, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addq  }<i>disp8</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code addq      [rbx + 18], 0x12345678}
     */
    // Template#: 227, Serial#: 817
    public void addq(byte disp8, AMD64IndirectRegister64 destination, int imm32) {
        assemble0026((byte) 0x81, (byte) 0x00, disp8, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addw  }<i>disp8</i>, <i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code addw      [rbx + 18], 0x1234}
     */
    // Template#: 228, Serial#: 889
    public void addw(byte disp8, AMD64IndirectRegister64 destination, short imm16) {
        assemble0027((byte) 0x81, (byte) 0x00, disp8, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code addb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addb      rbx[rsi * 4], 0x12}
     */
    // Template#: 229, Serial#: 498
    public void addb(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0x80, (byte) 0x00, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addb      rbx[rsi * 4], 0x12}
     */
    // Template#: 230, Serial#: 570
    public void addb_r570(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0x80, (byte) 0x00, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addb      rbx[rsi * 4], 0x12}
     */
    // Template#: 231, Serial#: 642
    public void addb_r642(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0x80, (byte) 0x00, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addl  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addl      rbx[rsi * 4], 0x12}
     */
    // Template#: 232, Serial#: 930
    public void addl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0x83, (byte) 0x00, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addq      rbx[rsi * 4], 0x12}
     */
    // Template#: 233, Serial#: 1002
    public void addq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0x83, (byte) 0x00, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addw  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addw      rbx[rsi * 4], 0x12}
     */
    // Template#: 234, Serial#: 1074
    public void addw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0x83, (byte) 0x00, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code add       rbx[rsi * 4], ax}
     */
    // Template#: 235, Serial#: 47
    public void add(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0031((byte) 0x01, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code add       rbx[rsi * 4], eax}
     */
    // Template#: 236, Serial#: 29
    public void add(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0032((byte) 0x01, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code add       rbx[rsi * 4], rax}
     */
    // Template#: 237, Serial#: 38
    public void add(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0033((byte) 0x01, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code add       rbx[rsi * 4], al}
     */
    // Template#: 238, Serial#: 2
    public void add(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0034((byte) 0x00, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code add       rbx[rsi * 4], al}
     */
    // Template#: 239, Serial#: 11
    public void add_r11(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0035((byte) 0x00, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code add       rbx[rsi * 4], al}
     */
    // Template#: 240, Serial#: 20
    public void add_r20(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0036((byte) 0x00, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addl  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code addl      rbx[rsi * 4], 0x12345678}
     */
    // Template#: 241, Serial#: 714
    public void addl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0037((byte) 0x81, (byte) 0x00, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code addq      rbx[rsi * 4], 0x12345678}
     */
    // Template#: 242, Serial#: 786
    public void addq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0038((byte) 0x81, (byte) 0x00, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addw  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code addw      rbx[rsi * 4], 0x1234}
     */
    // Template#: 243, Serial#: 858
    public void addw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0039((byte) 0x81, (byte) 0x00, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code addw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addw      ax, 0x12}
     */
    // Template#: 244, Serial#: 1137
    public void addw(AMD64GeneralRegister16 destination, byte imm8) {
        assemble0040((byte) 0x83, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code add       ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 245, Serial#: 105
    public void add(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0041((byte) 0x03, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code add       ax, [rbx + 18]}
     */
    // Template#: 246, Serial#: 104
    public void add(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0042((byte) 0x03, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code add       ax, rbx[rsi * 4]}
     */
    // Template#: 247, Serial#: 101
    public void add(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0043((byte) 0x03, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       ax, ax}
     */
    // Template#: 248, Serial#: 54
    public void add(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0044((byte) 0x01, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       ax, ax}
     */
    // Template#: 249, Serial#: 108
    public void add_r108(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0045((byte) 0x03, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       ax, [rbx]}
     */
    // Template#: 250, Serial#: 100
    public void add(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0046((byte) 0x03, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code add       ax, [L1: +305419896]}
     */
    // Template#: 251, Serial#: 103
    public void rip_add(AMD64GeneralRegister16 destination, int rel32) {
        assemble0047((byte) 0x03, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code add       ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 252, Serial#: 107
    public void add(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0048((byte) 0x03, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code add       ax, 0x12345678[rsi * 4]}
     */
    // Template#: 253, Serial#: 102
    public void m_add(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0049((byte) 0x03, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code add       ax, [rbx + 305419896]}
     */
    // Template#: 254, Serial#: 106
    public void add(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0050((byte) 0x03, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addw  }<i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code addw      ax, 0x1234}
     */
    // Template#: 255, Serial#: 921
    public void addw(AMD64GeneralRegister16 destination, short imm16) {
        assemble0051((byte) 0x81, (byte) 0x00, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code addl  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addl      eax, 0x12}
     */
    // Template#: 256, Serial#: 993
    public void addl(AMD64GeneralRegister32 destination, byte imm8) {
        assemble0052((byte) 0x83, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code add       eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 257, Serial#: 87
    public void add(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0053((byte) 0x03, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code add       eax, [rbx + 18]}
     */
    // Template#: 258, Serial#: 86
    public void add(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0054((byte) 0x03, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code add       eax, rbx[rsi * 4]}
     */
    // Template#: 259, Serial#: 83
    public void add(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0055((byte) 0x03, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       eax, eax}
     */
    // Template#: 260, Serial#: 36
    public void add(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0056((byte) 0x01, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       eax, eax}
     */
    // Template#: 261, Serial#: 90
    public void add_r90(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0057((byte) 0x03, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       eax, [rbx]}
     */
    // Template#: 262, Serial#: 82
    public void add(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0058((byte) 0x03, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code add       eax, [L1: +305419896]}
     */
    // Template#: 263, Serial#: 85
    public void rip_add(AMD64GeneralRegister32 destination, int rel32) {
        assemble0059((byte) 0x03, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addl  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code addl      eax, 0x12345678}
     */
    // Template#: 264, Serial#: 777
    public void addl(AMD64GeneralRegister32 destination, int imm32) {
        assemble0060((byte) 0x81, (byte) 0x00, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code add       eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 265, Serial#: 89
    public void add(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0061((byte) 0x03, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code add       eax, 0x12345678[rsi * 4]}
     */
    // Template#: 266, Serial#: 84
    public void m_add(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0062((byte) 0x03, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code add       eax, [rbx + 305419896]}
     */
    // Template#: 267, Serial#: 88
    public void add(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0063((byte) 0x03, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addq      rax, 0x12}
     */
    // Template#: 268, Serial#: 1065
    public void addq(AMD64GeneralRegister64 destination, byte imm8) {
        assemble0064((byte) 0x83, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code add       rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 269, Serial#: 96
    public void add(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0065((byte) 0x03, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code add       rax, [rbx + 18]}
     */
    // Template#: 270, Serial#: 95
    public void add(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0066((byte) 0x03, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code add       rax, rbx[rsi * 4]}
     */
    // Template#: 271, Serial#: 92
    public void add(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0067((byte) 0x03, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       rax, rax}
     */
    // Template#: 272, Serial#: 45
    public void add(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0068((byte) 0x01, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       rax, rax}
     */
    // Template#: 273, Serial#: 99
    public void add_r99(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0069((byte) 0x03, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       rax, [rbx]}
     */
    // Template#: 274, Serial#: 91
    public void add(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0070((byte) 0x03, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code add       rax, [L1: +305419896]}
     */
    // Template#: 275, Serial#: 94
    public void rip_add(AMD64GeneralRegister64 destination, int rel32) {
        assemble0071((byte) 0x03, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addq  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code addq      rax, 0x12345678}
     */
    // Template#: 276, Serial#: 849
    public void addq(AMD64GeneralRegister64 destination, int imm32) {
        assemble0072((byte) 0x81, (byte) 0x00, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code add       rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 277, Serial#: 98
    public void add(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0073((byte) 0x03, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code add       rax, 0x12345678[rsi * 4]}
     */
    // Template#: 278, Serial#: 93
    public void m_add(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0074((byte) 0x03, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code add       rax, [rbx + 305419896]}
     */
    // Template#: 279, Serial#: 97
    public void add(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0075((byte) 0x03, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addb      al, 0x12}
     */
    // Template#: 280, Serial#: 561
    public void addb(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0076((byte) 0x80, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addb      al, 0x12}
     */
    // Template#: 281, Serial#: 633
    public void addb_r633(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0077((byte) 0x80, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addb      al, 0x12}
     */
    // Template#: 282, Serial#: 705
    public void addb_r705(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0078((byte) 0x80, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code add       al, rbx[rsi * 4 + 18]}
     */
    // Template#: 283, Serial#: 60
    public void add(AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0079((byte) 0x02, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code add       al, rbx[rsi * 4 + 18]}
     */
    // Template#: 284, Serial#: 69
    public void add_r69(AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0080((byte) 0x02, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code add       al, rbx[rsi * 4 + 18]}
     */
    // Template#: 285, Serial#: 78
    public void add_r78(AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0081((byte) 0x02, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code add       al, [rbx + 18]}
     */
    // Template#: 286, Serial#: 59
    public void add(AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0082((byte) 0x02, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code add       al, [rbx + 18]}
     */
    // Template#: 287, Serial#: 68
    public void add_r68(AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0083((byte) 0x02, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code add       al, [rbx + 18]}
     */
    // Template#: 288, Serial#: 77
    public void add_r77(AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0084((byte) 0x02, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code add       al, rbx[rsi * 4]}
     */
    // Template#: 289, Serial#: 56
    public void add(AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0085((byte) 0x02, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code add       al, rbx[rsi * 4]}
     */
    // Template#: 290, Serial#: 65
    public void add_r65(AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0086((byte) 0x02, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code add       al, rbx[rsi * 4]}
     */
    // Template#: 291, Serial#: 74
    public void add_r74(AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0087((byte) 0x02, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       al, al}
     */
    // Template#: 292, Serial#: 9
    public void add(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0088((byte) 0x00, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       al, al}
     */
    // Template#: 293, Serial#: 18
    public void add_r18(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0089((byte) 0x00, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       al, al}
     */
    // Template#: 294, Serial#: 27
    public void add_r27(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0090((byte) 0x00, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       al, al}
     */
    // Template#: 295, Serial#: 63
    public void add_r63(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0091((byte) 0x02, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       al, al}
     */
    // Template#: 296, Serial#: 72
    public void add_r72(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0092((byte) 0x02, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       al, al}
     */
    // Template#: 297, Serial#: 81
    public void add_r81(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0093((byte) 0x02, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       al, [rbx]}
     */
    // Template#: 298, Serial#: 55
    public void add(AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        assemble0094((byte) 0x02, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       al, [rbx]}
     */
    // Template#: 299, Serial#: 64
    public void add_r64(AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        assemble0095((byte) 0x02, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       al, [rbx]}
     */
    // Template#: 300, Serial#: 73
    public void add_r73(AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        assemble0096((byte) 0x02, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code add       al, [L1: +305419896]}
     */
    // Template#: 301, Serial#: 58
    public void rip_add(AMD64GeneralRegister8 destination, int rel32) {
        assemble0097((byte) 0x02, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code add       al, [L1: +305419896]}
     */
    // Template#: 302, Serial#: 67
    public void rip_add_r67(AMD64GeneralRegister8 destination, int rel32) {
        assemble0098((byte) 0x02, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code add       al, [L1: +305419896]}
     */
    // Template#: 303, Serial#: 76
    public void rip_add_r76(AMD64GeneralRegister8 destination, int rel32) {
        assemble0099((byte) 0x02, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code add       al, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 304, Serial#: 62
    public void add(AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0100((byte) 0x02, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code add       al, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 305, Serial#: 71
    public void add_r71(AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0101((byte) 0x02, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code add       al, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 306, Serial#: 80
    public void add_r80(AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0102((byte) 0x02, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code add       al, 0x12345678[rsi * 4]}
     */
    // Template#: 307, Serial#: 57
    public void m_add(AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0103((byte) 0x02, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code add       al, 0x12345678[rsi * 4]}
     */
    // Template#: 308, Serial#: 66
    public void m_add_r66(AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0104((byte) 0x02, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code add       al, 0x12345678[rsi * 4]}
     */
    // Template#: 309, Serial#: 75
    public void m_add_r75(AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0105((byte) 0x02, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code add       al, [rbx + 305419896]}
     */
    // Template#: 310, Serial#: 61
    public void add(AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0106((byte) 0x02, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code add       al, [rbx + 305419896]}
     */
    // Template#: 311, Serial#: 70
    public void add_r70(AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0107((byte) 0x02, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code add       al, [rbx + 305419896]}
     */
    // Template#: 312, Serial#: 79
    public void add_r79(AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0108((byte) 0x02, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addb      [rbx], 0x12}
     */
    // Template#: 313, Serial#: 497
    public void addb(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0x80, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addb      [rbx], 0x12}
     */
    // Template#: 314, Serial#: 569
    public void addb_r569(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0x80, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addb      [rbx], 0x12}
     */
    // Template#: 315, Serial#: 641
    public void addb_r641(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0x80, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addl  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addl      [rbx], 0x12}
     */
    // Template#: 316, Serial#: 929
    public void addl(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0x83, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addq      [rbx], 0x12}
     */
    // Template#: 317, Serial#: 1001
    public void addq(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0x83, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addw      [rbx], 0x12}
     */
    // Template#: 318, Serial#: 1073
    public void addw(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0x83, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       [rbx], ax}
     */
    // Template#: 319, Serial#: 46
    public void add(AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0112((byte) 0x01, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       [rbx], eax}
     */
    // Template#: 320, Serial#: 28
    public void add(AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0113((byte) 0x01, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       [rbx], rax}
     */
    // Template#: 321, Serial#: 37
    public void add(AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0114((byte) 0x01, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       [rbx], al}
     */
    // Template#: 322, Serial#: 1
    public void add(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0115((byte) 0x00, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       [rbx], al}
     */
    // Template#: 323, Serial#: 10
    public void add_r10(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0116((byte) 0x00, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       [rbx], al}
     */
    // Template#: 324, Serial#: 19
    public void add_r19(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0117((byte) 0x00, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addl  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code addl      [rbx], 0x12345678}
     */
    // Template#: 325, Serial#: 713
    public void addl(AMD64IndirectRegister64 destination, int imm32) {
        assemble0118((byte) 0x81, (byte) 0x00, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addq  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code addq      [rbx], 0x12345678}
     */
    // Template#: 326, Serial#: 785
    public void addq(AMD64IndirectRegister64 destination, int imm32) {
        assemble0119((byte) 0x81, (byte) 0x00, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addw  }<i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code addw      [rbx], 0x1234}
     */
    // Template#: 327, Serial#: 857
    public void addw(AMD64IndirectRegister64 destination, short imm16) {
        assemble0120((byte) 0x81, (byte) 0x00, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>imm32</i>
     * Example disassembly syntax: {@code add       eax, 0x12345678}
     */
    // Template#: 328, Serial#: 112
    public void add_EAX(int imm32) {
        assemble0121((byte) 0x05, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>imm32</i>
     * Example disassembly syntax: {@code add       rax, 0x12345678}
     */
    // Template#: 329, Serial#: 113
    public void add_RAX(int imm32) {
        assemble0122((byte) 0x05, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addb      [L1: +305419896], 0x12}
     */
    // Template#: 330, Serial#: 500
    public void rip_addb(int rel32, byte imm8) {
        assemble0123((byte) 0x80, (byte) 0x00, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addb      [L1: +305419896], 0x12}
     */
    // Template#: 331, Serial#: 572
    public void rip_addb_r572(int rel32, byte imm8) {
        assemble0124((byte) 0x80, (byte) 0x00, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addb      [L1: +305419896], 0x12}
     */
    // Template#: 332, Serial#: 644
    public void rip_addb_r644(int rel32, byte imm8) {
        assemble0125((byte) 0x80, (byte) 0x00, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addl  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addl      [L1: +305419896], 0x12}
     */
    // Template#: 333, Serial#: 932
    public void rip_addl(int rel32, byte imm8) {
        assemble0123((byte) 0x83, (byte) 0x00, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addq  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addq      [L1: +305419896], 0x12}
     */
    // Template#: 334, Serial#: 1004
    public void rip_addq(int rel32, byte imm8) {
        assemble0124((byte) 0x83, (byte) 0x00, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addw  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addw      [L1: +305419896], 0x12}
     */
    // Template#: 335, Serial#: 1076
    public void rip_addw(int rel32, byte imm8) {
        assemble0125((byte) 0x83, (byte) 0x00, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 336, Serial#: 546
    public void addb(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0x80, (byte) 0x00, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 337, Serial#: 618
    public void addb_r618(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0x80, (byte) 0x00, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 338, Serial#: 690
    public void addb_r690(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0x80, (byte) 0x00, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addl      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 339, Serial#: 978
    public void addl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0x83, (byte) 0x00, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addq      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 340, Serial#: 1050
    public void addq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0x83, (byte) 0x00, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addw      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 341, Serial#: 1122
    public void addw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0x83, (byte) 0x00, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code add       rbx[rsi * 4 + 305419896], ax}
     */
    // Template#: 342, Serial#: 53
    public void add(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0129((byte) 0x01, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code add       rbx[rsi * 4 + 305419896], eax}
     */
    // Template#: 343, Serial#: 35
    public void add(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0130((byte) 0x01, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code add       rbx[rsi * 4 + 305419896], rax}
     */
    // Template#: 344, Serial#: 44
    public void add(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0131((byte) 0x01, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code add       rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 345, Serial#: 8
    public void add(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0132((byte) 0x00, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code add       rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 346, Serial#: 17
    public void add_r17(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0133((byte) 0x00, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code add       rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 347, Serial#: 26
    public void add_r26(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0134((byte) 0x00, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code addl      rbx[rsi * 4 + 305419896], 0x12345678}
     */
    // Template#: 348, Serial#: 762
    public void addl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0135((byte) 0x81, (byte) 0x00, disp32, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code addq      rbx[rsi * 4 + 305419896], 0x12345678}
     */
    // Template#: 349, Serial#: 834
    public void addq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0136((byte) 0x81, (byte) 0x00, disp32, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code addw      rbx[rsi * 4 + 305419896], 0x1234}
     */
    // Template#: 350, Serial#: 906
    public void addw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0137((byte) 0x81, (byte) 0x00, disp32, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code add       [L1: +305419896], ax}
     */
    // Template#: 351, Serial#: 49
    public void rip_add(int rel32, AMD64GeneralRegister16 source) {
        assemble0138((byte) 0x01, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code add       [L1: +305419896], eax}
     */
    // Template#: 352, Serial#: 31
    public void rip_add(int rel32, AMD64GeneralRegister32 source) {
        assemble0139((byte) 0x01, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code add       [L1: +305419896], rax}
     */
    // Template#: 353, Serial#: 40
    public void rip_add(int rel32, AMD64GeneralRegister64 source) {
        assemble0140((byte) 0x01, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code add       [L1: +305419896], al}
     */
    // Template#: 354, Serial#: 4
    public void rip_add(int rel32, AMD64GeneralRegister8 source) {
        assemble0141((byte) 0x00, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code add       [L1: +305419896], al}
     */
    // Template#: 355, Serial#: 13
    public void rip_add_r13(int rel32, AMD64GeneralRegister8 source) {
        assemble0142((byte) 0x00, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code add       [L1: +305419896], al}
     */
    // Template#: 356, Serial#: 22
    public void rip_add_r22(int rel32, AMD64GeneralRegister8 source) {
        assemble0143((byte) 0x00, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 357, Serial#: 499
    public void m_addb(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0x80, (byte) 0x00, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 358, Serial#: 571
    public void m_addb_r571(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0x80, (byte) 0x00, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 359, Serial#: 643
    public void m_addb_r643(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0x80, (byte) 0x00, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addl  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addl      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 360, Serial#: 931
    public void m_addl(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0x83, (byte) 0x00, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addq      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 361, Serial#: 1003
    public void m_addq(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0x83, (byte) 0x00, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addw  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addw      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 362, Serial#: 1075
    public void m_addw(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0x83, (byte) 0x00, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code add       0x12345678[rsi * 4], ax}
     */
    // Template#: 363, Serial#: 48
    public void m_add(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0147((byte) 0x01, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code add       0x12345678[rsi * 4], eax}
     */
    // Template#: 364, Serial#: 30
    public void m_add(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0148((byte) 0x01, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code add       0x12345678[rsi * 4], rax}
     */
    // Template#: 365, Serial#: 39
    public void m_add(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0149((byte) 0x01, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code add       0x12345678[rsi * 4], al}
     */
    // Template#: 366, Serial#: 3
    public void m_add(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0150((byte) 0x00, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code add       0x12345678[rsi * 4], al}
     */
    // Template#: 367, Serial#: 12
    public void m_add_r12(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0151((byte) 0x00, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code add       0x12345678[rsi * 4], al}
     */
    // Template#: 368, Serial#: 21
    public void m_add_r21(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0152((byte) 0x00, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addl  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code addl      0x12345678[rsi * 4], 0x12345678}
     */
    // Template#: 369, Serial#: 715
    public void m_addl(int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0153((byte) 0x81, (byte) 0x00, m32, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code addq      0x12345678[rsi * 4], 0x12345678}
     */
    // Template#: 370, Serial#: 787
    public void m_addq(int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0154((byte) 0x81, (byte) 0x00, m32, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addw  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code addw      0x12345678[rsi * 4], 0x1234}
     */
    // Template#: 371, Serial#: 859
    public void m_addw(int m32, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0155((byte) 0x81, (byte) 0x00, m32, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code addb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addb      [rbx + 305419896], 0x12}
     */
    // Template#: 372, Serial#: 545
    public void addb(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0x80, (byte) 0x00, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addb      [rbx + 305419896], 0x12}
     */
    // Template#: 373, Serial#: 617
    public void addb_r617(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0x80, (byte) 0x00, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addb      [rbx + 305419896], 0x12}
     */
    // Template#: 374, Serial#: 689
    public void addb_r689(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0x80, (byte) 0x00, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addl  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addl      [rbx + 305419896], 0x12}
     */
    // Template#: 375, Serial#: 977
    public void addl(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0x83, (byte) 0x00, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addq  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addq      [rbx + 305419896], 0x12}
     */
    // Template#: 376, Serial#: 1049
    public void addq(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0x83, (byte) 0x00, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code addw  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code addw      [rbx + 305419896], 0x12}
     */
    // Template#: 377, Serial#: 1121
    public void addw(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0x83, (byte) 0x00, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       [rbx + 305419896], ax}
     */
    // Template#: 378, Serial#: 52
    public void add(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0159((byte) 0x01, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       [rbx + 305419896], eax}
     */
    // Template#: 379, Serial#: 34
    public void add(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0160((byte) 0x01, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       [rbx + 305419896], rax}
     */
    // Template#: 380, Serial#: 43
    public void add(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0161((byte) 0x01, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       [rbx + 305419896], al}
     */
    // Template#: 381, Serial#: 7
    public void add(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0162((byte) 0x00, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       [rbx + 305419896], al}
     */
    // Template#: 382, Serial#: 16
    public void add_r16(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0163((byte) 0x00, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code add       [rbx + 305419896], al}
     */
    // Template#: 383, Serial#: 25
    public void add_r25(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0164((byte) 0x00, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addl  }<i>disp32</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code addl      [rbx + 305419896], 0x12345678}
     */
    // Template#: 384, Serial#: 761
    public void addl(int disp32, AMD64IndirectRegister64 destination, int imm32) {
        assemble0165((byte) 0x81, (byte) 0x00, disp32, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addq  }<i>disp32</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code addq      [rbx + 305419896], 0x12345678}
     */
    // Template#: 385, Serial#: 833
    public void addq(int disp32, AMD64IndirectRegister64 destination, int imm32) {
        assemble0166((byte) 0x81, (byte) 0x00, disp32, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addw  }<i>disp32</i>, <i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code addw      [rbx + 305419896], 0x1234}
     */
    // Template#: 386, Serial#: 905
    public void addw(int disp32, AMD64IndirectRegister64 destination, short imm16) {
        assemble0167((byte) 0x81, (byte) 0x00, disp32, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code addl  }<i>rel32</i>, <i>imm32</i>
     * Example disassembly syntax: {@code addl      [L1: +305419896], 0x12345678}
     */
    // Template#: 387, Serial#: 716
    public void rip_addl(int rel32, int imm32) {
        assemble0168((byte) 0x81, (byte) 0x00, rel32, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addq  }<i>rel32</i>, <i>imm32</i>
     * Example disassembly syntax: {@code addq      [L1: +305419896], 0x12345678}
     */
    // Template#: 388, Serial#: 788
    public void rip_addq(int rel32, int imm32) {
        assemble0169((byte) 0x81, (byte) 0x00, rel32, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addw  }<i>rel32</i>, <i>imm16</i>
     * Example disassembly syntax: {@code addw      [L1: +305419896], 0x1234}
     */
    // Template#: 389, Serial#: 860
    public void rip_addw(int rel32, short imm16) {
        assemble0170((byte) 0x81, (byte) 0x00, rel32, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code add  }<i>imm16</i>
     * Example disassembly syntax: {@code add       ax, 0x1234}
     */
    // Template#: 390, Serial#: 114
    public void add_AX(short imm16) {
        assemble0171((byte) 0x05, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code addpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addpd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 391, Serial#: 10109
    public void addpd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x58, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addpd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 392, Serial#: 10118
    public void addpd_r10118(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x58, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code addpd     xmm0, [rbx + 18]}
     */
    // Template#: 393, Serial#: 10108
    public void addpd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x58, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code addpd     xmm0, [rbx + 18]}
     */
    // Template#: 394, Serial#: 10117
    public void addpd_r10117(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x58, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addpd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 395, Serial#: 10105
    public void addpd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x58, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addpd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 396, Serial#: 10114
    public void addpd_r10114(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x58, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code addpd     xmm0, [rbx]}
     */
    // Template#: 397, Serial#: 10104
    public void addpd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x58, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code addpd     xmm0, [rbx]}
     */
    // Template#: 398, Serial#: 10113
    public void addpd_r10113(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x58, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code addpd     xmm0, xmm0}
     */
    // Template#: 399, Serial#: 10112
    public void addpd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x58, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code addpd     xmm0, xmm0}
     */
    // Template#: 400, Serial#: 10121
    public void addpd_r10121(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x58, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code addpd     xmm0, [L1: +305419896]}
     */
    // Template#: 401, Serial#: 10107
    public void rip_addpd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x58, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code addpd     xmm0, [L1: +305419896]}
     */
    // Template#: 402, Serial#: 10116
    public void rip_addpd_r10116(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x58, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addpd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 403, Serial#: 10111
    public void addpd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x58, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addpd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 404, Serial#: 10120
    public void addpd_r10120(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x58, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addpd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 405, Serial#: 10106
    public void m_addpd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x58, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addpd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 406, Serial#: 10115
    public void m_addpd_r10115(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x58, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code addpd     xmm0, [rbx + 305419896]}
     */
    // Template#: 407, Serial#: 10110
    public void addpd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x58, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code addpd     xmm0, [rbx + 305419896]}
     */
    // Template#: 408, Serial#: 10119
    public void addpd_r10119(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x58, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addps     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 409, Serial#: 9965
    public void addps(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0190((byte) 0x58, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addps     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 410, Serial#: 9974
    public void addps_r9974(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0191((byte) 0x58, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code addps     xmm0, [rbx + 18]}
     */
    // Template#: 411, Serial#: 9964
    public void addps(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0192((byte) 0x58, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code addps     xmm0, [rbx + 18]}
     */
    // Template#: 412, Serial#: 9973
    public void addps_r9973(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0193((byte) 0x58, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addps     xmm0, rbx[rsi * 4]}
     */
    // Template#: 413, Serial#: 9961
    public void addps(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0194((byte) 0x58, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addps     xmm0, rbx[rsi * 4]}
     */
    // Template#: 414, Serial#: 9970
    public void addps_r9970(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0195((byte) 0x58, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code addps     xmm0, [rbx]}
     */
    // Template#: 415, Serial#: 9960
    public void addps(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0196((byte) 0x58, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code addps     xmm0, [rbx]}
     */
    // Template#: 416, Serial#: 9969
    public void addps_r9969(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0197((byte) 0x58, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code addps     xmm0, xmm0}
     */
    // Template#: 417, Serial#: 9968
    public void addps(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0198((byte) 0x58, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code addps     xmm0, xmm0}
     */
    // Template#: 418, Serial#: 9977
    public void addps_r9977(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0199((byte) 0x58, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code addps     xmm0, [L1: +305419896]}
     */
    // Template#: 419, Serial#: 9963
    public void rip_addps(AMD64XMMRegister destination, int rel32) {
        assemble0200((byte) 0x58, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code addps     xmm0, [L1: +305419896]}
     */
    // Template#: 420, Serial#: 9972
    public void rip_addps_r9972(AMD64XMMRegister destination, int rel32) {
        assemble0201((byte) 0x58, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addps     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 421, Serial#: 9967
    public void addps(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0202((byte) 0x58, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addps     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 422, Serial#: 9976
    public void addps_r9976(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0203((byte) 0x58, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addps     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 423, Serial#: 9962
    public void m_addps(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0204((byte) 0x58, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addps     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 424, Serial#: 9971
    public void m_addps_r9971(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0205((byte) 0x58, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code addps     xmm0, [rbx + 305419896]}
     */
    // Template#: 425, Serial#: 9966
    public void addps(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0206((byte) 0x58, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code addps     xmm0, [rbx + 305419896]}
     */
    // Template#: 426, Serial#: 9975
    public void addps_r9975(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0207((byte) 0x58, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code address_size  }
     * Example disassembly syntax: {@code address_size}
     */
    // Template#: 427, Serial#: 486
    public void address_size() {
        assemble0208((byte) 0x67);
    }

    /**
     * Pseudo-external assembler syntax: {@code address_size  }
     * Example disassembly syntax: {@code address_size}
     */
    // Template#: 428, Serial#: 487
    public void address_size_r487() {
        assemble0209((byte) 0x67);
    }

    /**
     * Pseudo-external assembler syntax: {@code address_size  }
     * Example disassembly syntax: {@code address_size}
     */
    // Template#: 429, Serial#: 488
    public void address_size_r488() {
        assemble0210((byte) 0x67);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addsd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 430, Serial#: 10253
    public void addsd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0211((byte) 0x58, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addsd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 431, Serial#: 10262
    public void addsd_r10262(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0212((byte) 0x58, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code addsd     xmm0, [rbx + 18]}
     */
    // Template#: 432, Serial#: 10252
    public void addsd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0213((byte) 0x58, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code addsd     xmm0, [rbx + 18]}
     */
    // Template#: 433, Serial#: 10261
    public void addsd_r10261(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0214((byte) 0x58, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addsd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 434, Serial#: 10249
    public void addsd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0215((byte) 0x58, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addsd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 435, Serial#: 10258
    public void addsd_r10258(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0216((byte) 0x58, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code addsd     xmm0, [rbx]}
     */
    // Template#: 436, Serial#: 10248
    public void addsd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0217((byte) 0x58, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code addsd     xmm0, [rbx]}
     */
    // Template#: 437, Serial#: 10257
    public void addsd_r10257(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0218((byte) 0x58, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code addsd     xmm0, xmm0}
     */
    // Template#: 438, Serial#: 10256
    public void addsd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0219((byte) 0x58, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code addsd     xmm0, xmm0}
     */
    // Template#: 439, Serial#: 10265
    public void addsd_r10265(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0220((byte) 0x58, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code addsd     xmm0, [L1: +305419896]}
     */
    // Template#: 440, Serial#: 10251
    public void rip_addsd(AMD64XMMRegister destination, int rel32) {
        assemble0221((byte) 0x58, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code addsd     xmm0, [L1: +305419896]}
     */
    // Template#: 441, Serial#: 10260
    public void rip_addsd_r10260(AMD64XMMRegister destination, int rel32) {
        assemble0222((byte) 0x58, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addsd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 442, Serial#: 10255
    public void addsd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0223((byte) 0x58, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addsd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 443, Serial#: 10264
    public void addsd_r10264(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0224((byte) 0x58, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addsd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 444, Serial#: 10250
    public void m_addsd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0225((byte) 0x58, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addsd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 445, Serial#: 10259
    public void m_addsd_r10259(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0226((byte) 0x58, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code addsd     xmm0, [rbx + 305419896]}
     */
    // Template#: 446, Serial#: 10254
    public void addsd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0227((byte) 0x58, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code addsd     xmm0, [rbx + 305419896]}
     */
    // Template#: 447, Serial#: 10263
    public void addsd_r10263(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0228((byte) 0x58, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addss     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 448, Serial#: 10379
    public void addss(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0229((byte) 0x58, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addss     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 449, Serial#: 10388
    public void addss_r10388(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0230((byte) 0x58, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addss  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code addss     xmm0, [rbx + 18]}
     */
    // Template#: 450, Serial#: 10378
    public void addss(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0231((byte) 0x58, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addss  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code addss     xmm0, [rbx + 18]}
     */
    // Template#: 451, Serial#: 10387
    public void addss_r10387(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0232((byte) 0x58, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addss     xmm0, rbx[rsi * 4]}
     */
    // Template#: 452, Serial#: 10375
    public void addss(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0233((byte) 0x58, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addss     xmm0, rbx[rsi * 4]}
     */
    // Template#: 453, Serial#: 10384
    public void addss_r10384(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0234((byte) 0x58, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code addss     xmm0, [rbx]}
     */
    // Template#: 454, Serial#: 10374
    public void addss(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0235((byte) 0x58, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code addss     xmm0, [rbx]}
     */
    // Template#: 455, Serial#: 10383
    public void addss_r10383(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0236((byte) 0x58, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code addss     xmm0, xmm0}
     */
    // Template#: 456, Serial#: 10382
    public void addss(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0237((byte) 0x58, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code addss     xmm0, xmm0}
     */
    // Template#: 457, Serial#: 10391
    public void addss_r10391(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0238((byte) 0x58, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addss  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code addss     xmm0, [L1: +305419896]}
     */
    // Template#: 458, Serial#: 10377
    public void rip_addss(AMD64XMMRegister destination, int rel32) {
        assemble0239((byte) 0x58, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addss  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code addss     xmm0, [L1: +305419896]}
     */
    // Template#: 459, Serial#: 10386
    public void rip_addss_r10386(AMD64XMMRegister destination, int rel32) {
        assemble0240((byte) 0x58, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addss     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 460, Serial#: 10381
    public void addss(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0241((byte) 0x58, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addss     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 461, Serial#: 10390
    public void addss_r10390(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0242((byte) 0x58, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addss     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 462, Serial#: 10376
    public void m_addss(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0243((byte) 0x58, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addss     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 463, Serial#: 10385
    public void m_addss_r10385(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0244((byte) 0x58, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addss  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code addss     xmm0, [rbx + 305419896]}
     */
    // Template#: 464, Serial#: 10380
    public void addss(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0245((byte) 0x58, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addss  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code addss     xmm0, [rbx + 305419896]}
     */
    // Template#: 465, Serial#: 10389
    public void addss_r10389(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0246((byte) 0x58, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsubpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addsubpd  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 466, Serial#: 8315
    public void addsubpd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xD0, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsubpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addsubpd  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 467, Serial#: 8324
    public void addsubpd_r8324(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xD0, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsubpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code addsubpd  xmm0, [rbx + 18]}
     */
    // Template#: 468, Serial#: 8314
    public void addsubpd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xD0, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsubpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code addsubpd  xmm0, [rbx + 18]}
     */
    // Template#: 469, Serial#: 8323
    public void addsubpd_r8323(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xD0, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsubpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addsubpd  xmm0, rbx[rsi * 4]}
     */
    // Template#: 470, Serial#: 8311
    public void addsubpd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xD0, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsubpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addsubpd  xmm0, rbx[rsi * 4]}
     */
    // Template#: 471, Serial#: 8320
    public void addsubpd_r8320(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xD0, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsubpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code addsubpd  xmm0, [rbx]}
     */
    // Template#: 472, Serial#: 8310
    public void addsubpd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xD0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsubpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code addsubpd  xmm0, [rbx]}
     */
    // Template#: 473, Serial#: 8319
    public void addsubpd_r8319(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xD0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsubpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code addsubpd  xmm0, xmm0}
     */
    // Template#: 474, Serial#: 8318
    public void addsubpd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xD0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsubpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code addsubpd  xmm0, xmm0}
     */
    // Template#: 475, Serial#: 8327
    public void addsubpd_r8327(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xD0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsubpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code addsubpd  xmm0, [L1: +305419896]}
     */
    // Template#: 476, Serial#: 8313
    public void rip_addsubpd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xD0, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsubpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code addsubpd  xmm0, [L1: +305419896]}
     */
    // Template#: 477, Serial#: 8322
    public void rip_addsubpd_r8322(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xD0, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsubpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addsubpd  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 478, Serial#: 8317
    public void addsubpd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xD0, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsubpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addsubpd  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 479, Serial#: 8326
    public void addsubpd_r8326(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xD0, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsubpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addsubpd  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 480, Serial#: 8312
    public void m_addsubpd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xD0, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsubpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code addsubpd  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 481, Serial#: 8321
    public void m_addsubpd_r8321(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xD0, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsubpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code addsubpd  xmm0, [rbx + 305419896]}
     */
    // Template#: 482, Serial#: 8316
    public void addsubpd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xD0, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code addsubpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code addsubpd  xmm0, [rbx + 305419896]}
     */
    // Template#: 483, Serial#: 8325
    public void addsubpd_r8325(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xD0, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>imm8</i>
     * Example disassembly syntax: {@code and       al, 0x12}
     */
    // Template#: 484, Serial#: 337
    public void and_AL(byte imm8) {
        assemble0001((byte) 0x24, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>imm8</i>
     * Example disassembly syntax: {@code and       al, 0x12}
     */
    // Template#: 485, Serial#: 338
    public void and_AL_r338(byte imm8) {
        assemble0002((byte) 0x24, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>imm8</i>
     * Example disassembly syntax: {@code and       al, 0x12}
     */
    // Template#: 486, Serial#: 339
    public void and_AL_r339(byte imm8) {
        assemble0003((byte) 0x24, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 487, Serial#: 538
    public void andb(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0x80, (byte) 0x04, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 488, Serial#: 610
    public void andb_r610(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0x80, (byte) 0x04, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 489, Serial#: 682
    public void andb_r682(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0x80, (byte) 0x04, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andl      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 490, Serial#: 970
    public void andl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0x83, (byte) 0x04, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andq      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 491, Serial#: 1042
    public void andq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0x83, (byte) 0x04, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andw      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 492, Serial#: 1114
    public void andw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0x83, (byte) 0x04, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code and       rbx[rsi * 4 + 18], ax}
     */
    // Template#: 493, Serial#: 279
    public void and(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0007((byte) 0x21, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code and       rbx[rsi * 4 + 18], eax}
     */
    // Template#: 494, Serial#: 261
    public void and(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0008((byte) 0x21, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code and       rbx[rsi * 4 + 18], rax}
     */
    // Template#: 495, Serial#: 270
    public void and(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0009((byte) 0x21, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code and       rbx[rsi * 4 + 18], al}
     */
    // Template#: 496, Serial#: 234
    public void and(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0010((byte) 0x20, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code and       rbx[rsi * 4 + 18], al}
     */
    // Template#: 497, Serial#: 243
    public void and_r243(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0011((byte) 0x20, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code and       rbx[rsi * 4 + 18], al}
     */
    // Template#: 498, Serial#: 252
    public void and_r252(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0012((byte) 0x20, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code andl      rbx[rsi * 4 + 18], 0x12345678}
     */
    // Template#: 499, Serial#: 754
    public void andl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0013((byte) 0x81, (byte) 0x04, disp8, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code andq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code andq      rbx[rsi * 4 + 18], 0x12345678}
     */
    // Template#: 500, Serial#: 826
    public void andq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0014((byte) 0x81, (byte) 0x04, disp8, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code andw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code andw      rbx[rsi * 4 + 18], 0x1234}
     */
    // Template#: 501, Serial#: 898
    public void andw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0015((byte) 0x81, (byte) 0x04, disp8, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code andb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andb      [rbx + 18], 0x12}
     */
    // Template#: 502, Serial#: 537
    public void andb(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0x80, (byte) 0x04, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andb      [rbx + 18], 0x12}
     */
    // Template#: 503, Serial#: 609
    public void andb_r609(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0x80, (byte) 0x04, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andb      [rbx + 18], 0x12}
     */
    // Template#: 504, Serial#: 681
    public void andb_r681(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0x80, (byte) 0x04, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andl  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andl      [rbx + 18], 0x12}
     */
    // Template#: 505, Serial#: 969
    public void andl(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0x83, (byte) 0x04, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andq  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andq      [rbx + 18], 0x12}
     */
    // Template#: 506, Serial#: 1041
    public void andq(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0x83, (byte) 0x04, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andw  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andw      [rbx + 18], 0x12}
     */
    // Template#: 507, Serial#: 1113
    public void andw(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0x83, (byte) 0x04, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       [rbx + 18], ax}
     */
    // Template#: 508, Serial#: 278
    public void and(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0019((byte) 0x21, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       [rbx + 18], eax}
     */
    // Template#: 509, Serial#: 260
    public void and(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0020((byte) 0x21, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       [rbx + 18], rax}
     */
    // Template#: 510, Serial#: 269
    public void and(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0021((byte) 0x21, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       [rbx + 18], al}
     */
    // Template#: 511, Serial#: 233
    public void and(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0022((byte) 0x20, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       [rbx + 18], al}
     */
    // Template#: 512, Serial#: 242
    public void and_r242(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0023((byte) 0x20, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       [rbx + 18], al}
     */
    // Template#: 513, Serial#: 251
    public void and_r251(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0024((byte) 0x20, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andl  }<i>disp8</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code andl      [rbx + 18], 0x12345678}
     */
    // Template#: 514, Serial#: 753
    public void andl(byte disp8, AMD64IndirectRegister64 destination, int imm32) {
        assemble0025((byte) 0x81, (byte) 0x04, disp8, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code andq  }<i>disp8</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code andq      [rbx + 18], 0x12345678}
     */
    // Template#: 515, Serial#: 825
    public void andq(byte disp8, AMD64IndirectRegister64 destination, int imm32) {
        assemble0026((byte) 0x81, (byte) 0x04, disp8, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code andw  }<i>disp8</i>, <i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code andw      [rbx + 18], 0x1234}
     */
    // Template#: 516, Serial#: 897
    public void andw(byte disp8, AMD64IndirectRegister64 destination, short imm16) {
        assemble0027((byte) 0x81, (byte) 0x04, disp8, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code andb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andb      rbx[rsi * 4], 0x12}
     */
    // Template#: 517, Serial#: 514
    public void andb(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0x80, (byte) 0x04, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andb      rbx[rsi * 4], 0x12}
     */
    // Template#: 518, Serial#: 586
    public void andb_r586(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0x80, (byte) 0x04, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andb      rbx[rsi * 4], 0x12}
     */
    // Template#: 519, Serial#: 658
    public void andb_r658(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0x80, (byte) 0x04, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andl  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andl      rbx[rsi * 4], 0x12}
     */
    // Template#: 520, Serial#: 946
    public void andl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0x83, (byte) 0x04, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andq      rbx[rsi * 4], 0x12}
     */
    // Template#: 521, Serial#: 1018
    public void andq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0x83, (byte) 0x04, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andw  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andw      rbx[rsi * 4], 0x12}
     */
    // Template#: 522, Serial#: 1090
    public void andw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0x83, (byte) 0x04, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code and       rbx[rsi * 4], ax}
     */
    // Template#: 523, Serial#: 275
    public void and(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0031((byte) 0x21, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code and       rbx[rsi * 4], eax}
     */
    // Template#: 524, Serial#: 257
    public void and(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0032((byte) 0x21, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code and       rbx[rsi * 4], rax}
     */
    // Template#: 525, Serial#: 266
    public void and(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0033((byte) 0x21, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code and       rbx[rsi * 4], al}
     */
    // Template#: 526, Serial#: 230
    public void and(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0034((byte) 0x20, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code and       rbx[rsi * 4], al}
     */
    // Template#: 527, Serial#: 239
    public void and_r239(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0035((byte) 0x20, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code and       rbx[rsi * 4], al}
     */
    // Template#: 528, Serial#: 248
    public void and_r248(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0036((byte) 0x20, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andl  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code andl      rbx[rsi * 4], 0x12345678}
     */
    // Template#: 529, Serial#: 730
    public void andl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0037((byte) 0x81, (byte) 0x04, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code andq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code andq      rbx[rsi * 4], 0x12345678}
     */
    // Template#: 530, Serial#: 802
    public void andq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0038((byte) 0x81, (byte) 0x04, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code andw  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code andw      rbx[rsi * 4], 0x1234}
     */
    // Template#: 531, Serial#: 874
    public void andw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0039((byte) 0x81, (byte) 0x04, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code andw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andw      ax, 0x12}
     */
    // Template#: 532, Serial#: 1141
    public void andw(AMD64GeneralRegister16 destination, byte imm8) {
        assemble0040((byte) 0x83, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code and       ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 533, Serial#: 333
    public void and(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0041((byte) 0x23, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code and       ax, [rbx + 18]}
     */
    // Template#: 534, Serial#: 332
    public void and(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0042((byte) 0x23, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code and       ax, rbx[rsi * 4]}
     */
    // Template#: 535, Serial#: 329
    public void and(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0043((byte) 0x23, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       ax, ax}
     */
    // Template#: 536, Serial#: 282
    public void and(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0044((byte) 0x21, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       ax, ax}
     */
    // Template#: 537, Serial#: 336
    public void and_r336(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0045((byte) 0x23, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       ax, [rbx]}
     */
    // Template#: 538, Serial#: 328
    public void and(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0046((byte) 0x23, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code and       ax, [L1: +305419896]}
     */
    // Template#: 539, Serial#: 331
    public void rip_and(AMD64GeneralRegister16 destination, int rel32) {
        assemble0047((byte) 0x23, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code and       ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 540, Serial#: 335
    public void and(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0048((byte) 0x23, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code and       ax, 0x12345678[rsi * 4]}
     */
    // Template#: 541, Serial#: 330
    public void m_and(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0049((byte) 0x23, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code and       ax, [rbx + 305419896]}
     */
    // Template#: 542, Serial#: 334
    public void and(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0050((byte) 0x23, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andw  }<i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code andw      ax, 0x1234}
     */
    // Template#: 543, Serial#: 925
    public void andw(AMD64GeneralRegister16 destination, short imm16) {
        assemble0051((byte) 0x81, (byte) 0x04, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code andl  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andl      eax, 0x12}
     */
    // Template#: 544, Serial#: 997
    public void andl(AMD64GeneralRegister32 destination, byte imm8) {
        assemble0052((byte) 0x83, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code and       eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 545, Serial#: 315
    public void and(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0053((byte) 0x23, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code and       eax, [rbx + 18]}
     */
    // Template#: 546, Serial#: 314
    public void and(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0054((byte) 0x23, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code and       eax, rbx[rsi * 4]}
     */
    // Template#: 547, Serial#: 311
    public void and(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0055((byte) 0x23, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       eax, eax}
     */
    // Template#: 548, Serial#: 264
    public void and(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0056((byte) 0x21, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       eax, eax}
     */
    // Template#: 549, Serial#: 318
    public void and_r318(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0057((byte) 0x23, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       eax, [rbx]}
     */
    // Template#: 550, Serial#: 310
    public void and(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0058((byte) 0x23, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code and       eax, [L1: +305419896]}
     */
    // Template#: 551, Serial#: 313
    public void rip_and(AMD64GeneralRegister32 destination, int rel32) {
        assemble0059((byte) 0x23, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code andl  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code andl      eax, 0x12345678}
     */
    // Template#: 552, Serial#: 781
    public void andl(AMD64GeneralRegister32 destination, int imm32) {
        assemble0060((byte) 0x81, (byte) 0x04, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code and       eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 553, Serial#: 317
    public void and(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0061((byte) 0x23, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code and       eax, 0x12345678[rsi * 4]}
     */
    // Template#: 554, Serial#: 312
    public void m_and(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0062((byte) 0x23, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code and       eax, [rbx + 305419896]}
     */
    // Template#: 555, Serial#: 316
    public void and(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0063((byte) 0x23, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andq      rax, 0x12}
     */
    // Template#: 556, Serial#: 1069
    public void andq(AMD64GeneralRegister64 destination, byte imm8) {
        assemble0064((byte) 0x83, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code and       rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 557, Serial#: 324
    public void and(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0065((byte) 0x23, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code and       rax, [rbx + 18]}
     */
    // Template#: 558, Serial#: 323
    public void and(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0066((byte) 0x23, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code and       rax, rbx[rsi * 4]}
     */
    // Template#: 559, Serial#: 320
    public void and(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0067((byte) 0x23, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       rax, rax}
     */
    // Template#: 560, Serial#: 273
    public void and(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0068((byte) 0x21, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       rax, rax}
     */
    // Template#: 561, Serial#: 327
    public void and_r327(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0069((byte) 0x23, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       rax, [rbx]}
     */
    // Template#: 562, Serial#: 319
    public void and(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0070((byte) 0x23, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code and       rax, [L1: +305419896]}
     */
    // Template#: 563, Serial#: 322
    public void rip_and(AMD64GeneralRegister64 destination, int rel32) {
        assemble0071((byte) 0x23, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code andq  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code andq      rax, 0x12345678}
     */
    // Template#: 564, Serial#: 853
    public void andq(AMD64GeneralRegister64 destination, int imm32) {
        assemble0072((byte) 0x81, (byte) 0x04, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code and       rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 565, Serial#: 326
    public void and(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0073((byte) 0x23, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code and       rax, 0x12345678[rsi * 4]}
     */
    // Template#: 566, Serial#: 321
    public void m_and(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0074((byte) 0x23, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code and       rax, [rbx + 305419896]}
     */
    // Template#: 567, Serial#: 325
    public void and(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0075((byte) 0x23, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andb      al, 0x12}
     */
    // Template#: 568, Serial#: 565
    public void andb(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0076((byte) 0x80, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andb      al, 0x12}
     */
    // Template#: 569, Serial#: 637
    public void andb_r637(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0077((byte) 0x80, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andb      al, 0x12}
     */
    // Template#: 570, Serial#: 709
    public void andb_r709(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0078((byte) 0x80, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code and       al, rbx[rsi * 4 + 18]}
     */
    // Template#: 571, Serial#: 288
    public void and(AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0079((byte) 0x22, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code and       al, rbx[rsi * 4 + 18]}
     */
    // Template#: 572, Serial#: 297
    public void and_r297(AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0080((byte) 0x22, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code and       al, rbx[rsi * 4 + 18]}
     */
    // Template#: 573, Serial#: 306
    public void and_r306(AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0081((byte) 0x22, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code and       al, [rbx + 18]}
     */
    // Template#: 574, Serial#: 287
    public void and(AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0082((byte) 0x22, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code and       al, [rbx + 18]}
     */
    // Template#: 575, Serial#: 296
    public void and_r296(AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0083((byte) 0x22, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code and       al, [rbx + 18]}
     */
    // Template#: 576, Serial#: 305
    public void and_r305(AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0084((byte) 0x22, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code and       al, rbx[rsi * 4]}
     */
    // Template#: 577, Serial#: 284
    public void and(AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0085((byte) 0x22, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code and       al, rbx[rsi * 4]}
     */
    // Template#: 578, Serial#: 293
    public void and_r293(AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0086((byte) 0x22, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code and       al, rbx[rsi * 4]}
     */
    // Template#: 579, Serial#: 302
    public void and_r302(AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0087((byte) 0x22, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       al, al}
     */
    // Template#: 580, Serial#: 237
    public void and(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0088((byte) 0x20, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       al, al}
     */
    // Template#: 581, Serial#: 246
    public void and_r246(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0089((byte) 0x20, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       al, al}
     */
    // Template#: 582, Serial#: 255
    public void and_r255(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0090((byte) 0x20, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       al, al}
     */
    // Template#: 583, Serial#: 291
    public void and_r291(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0091((byte) 0x22, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       al, al}
     */
    // Template#: 584, Serial#: 300
    public void and_r300(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0092((byte) 0x22, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       al, al}
     */
    // Template#: 585, Serial#: 309
    public void and_r309(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0093((byte) 0x22, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       al, [rbx]}
     */
    // Template#: 586, Serial#: 283
    public void and(AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        assemble0094((byte) 0x22, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       al, [rbx]}
     */
    // Template#: 587, Serial#: 292
    public void and_r292(AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        assemble0095((byte) 0x22, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       al, [rbx]}
     */
    // Template#: 588, Serial#: 301
    public void and_r301(AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        assemble0096((byte) 0x22, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code and       al, [L1: +305419896]}
     */
    // Template#: 589, Serial#: 286
    public void rip_and(AMD64GeneralRegister8 destination, int rel32) {
        assemble0097((byte) 0x22, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code and       al, [L1: +305419896]}
     */
    // Template#: 590, Serial#: 295
    public void rip_and_r295(AMD64GeneralRegister8 destination, int rel32) {
        assemble0098((byte) 0x22, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code and       al, [L1: +305419896]}
     */
    // Template#: 591, Serial#: 304
    public void rip_and_r304(AMD64GeneralRegister8 destination, int rel32) {
        assemble0099((byte) 0x22, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code and       al, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 592, Serial#: 290
    public void and(AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0100((byte) 0x22, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code and       al, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 593, Serial#: 299
    public void and_r299(AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0101((byte) 0x22, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code and       al, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 594, Serial#: 308
    public void and_r308(AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0102((byte) 0x22, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code and       al, 0x12345678[rsi * 4]}
     */
    // Template#: 595, Serial#: 285
    public void m_and(AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0103((byte) 0x22, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code and       al, 0x12345678[rsi * 4]}
     */
    // Template#: 596, Serial#: 294
    public void m_and_r294(AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0104((byte) 0x22, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code and       al, 0x12345678[rsi * 4]}
     */
    // Template#: 597, Serial#: 303
    public void m_and_r303(AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0105((byte) 0x22, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code and       al, [rbx + 305419896]}
     */
    // Template#: 598, Serial#: 289
    public void and(AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0106((byte) 0x22, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code and       al, [rbx + 305419896]}
     */
    // Template#: 599, Serial#: 298
    public void and_r298(AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0107((byte) 0x22, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code and       al, [rbx + 305419896]}
     */
    // Template#: 600, Serial#: 307
    public void and_r307(AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0108((byte) 0x22, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andb      [rbx], 0x12}
     */
    // Template#: 601, Serial#: 513
    public void andb(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0x80, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andb      [rbx], 0x12}
     */
    // Template#: 602, Serial#: 585
    public void andb_r585(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0x80, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andb      [rbx], 0x12}
     */
    // Template#: 603, Serial#: 657
    public void andb_r657(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0x80, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andl  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andl      [rbx], 0x12}
     */
    // Template#: 604, Serial#: 945
    public void andl(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0x83, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andq      [rbx], 0x12}
     */
    // Template#: 605, Serial#: 1017
    public void andq(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0x83, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andw      [rbx], 0x12}
     */
    // Template#: 606, Serial#: 1089
    public void andw(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0x83, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       [rbx], ax}
     */
    // Template#: 607, Serial#: 274
    public void and(AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0112((byte) 0x21, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       [rbx], eax}
     */
    // Template#: 608, Serial#: 256
    public void and(AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0113((byte) 0x21, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       [rbx], rax}
     */
    // Template#: 609, Serial#: 265
    public void and(AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0114((byte) 0x21, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       [rbx], al}
     */
    // Template#: 610, Serial#: 229
    public void and(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0115((byte) 0x20, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       [rbx], al}
     */
    // Template#: 611, Serial#: 238
    public void and_r238(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0116((byte) 0x20, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       [rbx], al}
     */
    // Template#: 612, Serial#: 247
    public void and_r247(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0117((byte) 0x20, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andl  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code andl      [rbx], 0x12345678}
     */
    // Template#: 613, Serial#: 729
    public void andl(AMD64IndirectRegister64 destination, int imm32) {
        assemble0118((byte) 0x81, (byte) 0x04, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code andq  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code andq      [rbx], 0x12345678}
     */
    // Template#: 614, Serial#: 801
    public void andq(AMD64IndirectRegister64 destination, int imm32) {
        assemble0119((byte) 0x81, (byte) 0x04, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code andw  }<i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code andw      [rbx], 0x1234}
     */
    // Template#: 615, Serial#: 873
    public void andw(AMD64IndirectRegister64 destination, short imm16) {
        assemble0120((byte) 0x81, (byte) 0x04, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>imm32</i>
     * Example disassembly syntax: {@code and       eax, 0x12345678}
     */
    // Template#: 616, Serial#: 340
    public void and_EAX(int imm32) {
        assemble0121((byte) 0x25, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>imm32</i>
     * Example disassembly syntax: {@code and       rax, 0x12345678}
     */
    // Template#: 617, Serial#: 341
    public void and_RAX(int imm32) {
        assemble0122((byte) 0x25, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code andb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andb      [L1: +305419896], 0x12}
     */
    // Template#: 618, Serial#: 516
    public void rip_andb(int rel32, byte imm8) {
        assemble0123((byte) 0x80, (byte) 0x04, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andb      [L1: +305419896], 0x12}
     */
    // Template#: 619, Serial#: 588
    public void rip_andb_r588(int rel32, byte imm8) {
        assemble0124((byte) 0x80, (byte) 0x04, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andb      [L1: +305419896], 0x12}
     */
    // Template#: 620, Serial#: 660
    public void rip_andb_r660(int rel32, byte imm8) {
        assemble0125((byte) 0x80, (byte) 0x04, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andl  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andl      [L1: +305419896], 0x12}
     */
    // Template#: 621, Serial#: 948
    public void rip_andl(int rel32, byte imm8) {
        assemble0123((byte) 0x83, (byte) 0x04, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andq  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andq      [L1: +305419896], 0x12}
     */
    // Template#: 622, Serial#: 1020
    public void rip_andq(int rel32, byte imm8) {
        assemble0124((byte) 0x83, (byte) 0x04, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andw  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andw      [L1: +305419896], 0x12}
     */
    // Template#: 623, Serial#: 1092
    public void rip_andw(int rel32, byte imm8) {
        assemble0125((byte) 0x83, (byte) 0x04, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 624, Serial#: 554
    public void andb(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0x80, (byte) 0x04, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 625, Serial#: 626
    public void andb_r626(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0x80, (byte) 0x04, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 626, Serial#: 698
    public void andb_r698(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0x80, (byte) 0x04, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andl      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 627, Serial#: 986
    public void andl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0x83, (byte) 0x04, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andq      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 628, Serial#: 1058
    public void andq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0x83, (byte) 0x04, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andw      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 629, Serial#: 1130
    public void andw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0x83, (byte) 0x04, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code and       rbx[rsi * 4 + 305419896], ax}
     */
    // Template#: 630, Serial#: 281
    public void and(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0129((byte) 0x21, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code and       rbx[rsi * 4 + 305419896], eax}
     */
    // Template#: 631, Serial#: 263
    public void and(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0130((byte) 0x21, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code and       rbx[rsi * 4 + 305419896], rax}
     */
    // Template#: 632, Serial#: 272
    public void and(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0131((byte) 0x21, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code and       rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 633, Serial#: 236
    public void and(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0132((byte) 0x20, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code and       rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 634, Serial#: 245
    public void and_r245(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0133((byte) 0x20, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code and       rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 635, Serial#: 254
    public void and_r254(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0134((byte) 0x20, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code andl      rbx[rsi * 4 + 305419896], 0x12345678}
     */
    // Template#: 636, Serial#: 770
    public void andl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0135((byte) 0x81, (byte) 0x04, disp32, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code andq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code andq      rbx[rsi * 4 + 305419896], 0x12345678}
     */
    // Template#: 637, Serial#: 842
    public void andq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0136((byte) 0x81, (byte) 0x04, disp32, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code andw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code andw      rbx[rsi * 4 + 305419896], 0x1234}
     */
    // Template#: 638, Serial#: 914
    public void andw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0137((byte) 0x81, (byte) 0x04, disp32, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code and       [L1: +305419896], ax}
     */
    // Template#: 639, Serial#: 277
    public void rip_and(int rel32, AMD64GeneralRegister16 source) {
        assemble0138((byte) 0x21, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code and       [L1: +305419896], eax}
     */
    // Template#: 640, Serial#: 259
    public void rip_and(int rel32, AMD64GeneralRegister32 source) {
        assemble0139((byte) 0x21, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code and       [L1: +305419896], rax}
     */
    // Template#: 641, Serial#: 268
    public void rip_and(int rel32, AMD64GeneralRegister64 source) {
        assemble0140((byte) 0x21, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code and       [L1: +305419896], al}
     */
    // Template#: 642, Serial#: 232
    public void rip_and(int rel32, AMD64GeneralRegister8 source) {
        assemble0141((byte) 0x20, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code and       [L1: +305419896], al}
     */
    // Template#: 643, Serial#: 241
    public void rip_and_r241(int rel32, AMD64GeneralRegister8 source) {
        assemble0142((byte) 0x20, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code and       [L1: +305419896], al}
     */
    // Template#: 644, Serial#: 250
    public void rip_and_r250(int rel32, AMD64GeneralRegister8 source) {
        assemble0143((byte) 0x20, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 645, Serial#: 515
    public void m_andb(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0x80, (byte) 0x04, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 646, Serial#: 587
    public void m_andb_r587(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0x80, (byte) 0x04, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 647, Serial#: 659
    public void m_andb_r659(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0x80, (byte) 0x04, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andl  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andl      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 648, Serial#: 947
    public void m_andl(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0x83, (byte) 0x04, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andq      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 649, Serial#: 1019
    public void m_andq(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0x83, (byte) 0x04, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andw  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andw      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 650, Serial#: 1091
    public void m_andw(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0x83, (byte) 0x04, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code and       0x12345678[rsi * 4], ax}
     */
    // Template#: 651, Serial#: 276
    public void m_and(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0147((byte) 0x21, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code and       0x12345678[rsi * 4], eax}
     */
    // Template#: 652, Serial#: 258
    public void m_and(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0148((byte) 0x21, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code and       0x12345678[rsi * 4], rax}
     */
    // Template#: 653, Serial#: 267
    public void m_and(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0149((byte) 0x21, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code and       0x12345678[rsi * 4], al}
     */
    // Template#: 654, Serial#: 231
    public void m_and(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0150((byte) 0x20, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code and       0x12345678[rsi * 4], al}
     */
    // Template#: 655, Serial#: 240
    public void m_and_r240(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0151((byte) 0x20, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code and       0x12345678[rsi * 4], al}
     */
    // Template#: 656, Serial#: 249
    public void m_and_r249(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0152((byte) 0x20, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andl  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code andl      0x12345678[rsi * 4], 0x12345678}
     */
    // Template#: 657, Serial#: 731
    public void m_andl(int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0153((byte) 0x81, (byte) 0x04, m32, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code andq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code andq      0x12345678[rsi * 4], 0x12345678}
     */
    // Template#: 658, Serial#: 803
    public void m_andq(int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0154((byte) 0x81, (byte) 0x04, m32, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code andw  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code andw      0x12345678[rsi * 4], 0x1234}
     */
    // Template#: 659, Serial#: 875
    public void m_andw(int m32, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0155((byte) 0x81, (byte) 0x04, m32, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code andb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andb      [rbx + 305419896], 0x12}
     */
    // Template#: 660, Serial#: 553
    public void andb(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0x80, (byte) 0x04, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andb      [rbx + 305419896], 0x12}
     */
    // Template#: 661, Serial#: 625
    public void andb_r625(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0x80, (byte) 0x04, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andb      [rbx + 305419896], 0x12}
     */
    // Template#: 662, Serial#: 697
    public void andb_r697(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0x80, (byte) 0x04, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andl  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andl      [rbx + 305419896], 0x12}
     */
    // Template#: 663, Serial#: 985
    public void andl(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0x83, (byte) 0x04, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andq  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andq      [rbx + 305419896], 0x12}
     */
    // Template#: 664, Serial#: 1057
    public void andq(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0x83, (byte) 0x04, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code andw  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code andw      [rbx + 305419896], 0x12}
     */
    // Template#: 665, Serial#: 1129
    public void andw(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0x83, (byte) 0x04, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       [rbx + 305419896], ax}
     */
    // Template#: 666, Serial#: 280
    public void and(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0159((byte) 0x21, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       [rbx + 305419896], eax}
     */
    // Template#: 667, Serial#: 262
    public void and(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0160((byte) 0x21, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       [rbx + 305419896], rax}
     */
    // Template#: 668, Serial#: 271
    public void and(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0161((byte) 0x21, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       [rbx + 305419896], al}
     */
    // Template#: 669, Serial#: 235
    public void and(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0162((byte) 0x20, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       [rbx + 305419896], al}
     */
    // Template#: 670, Serial#: 244
    public void and_r244(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0163((byte) 0x20, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code and       [rbx + 305419896], al}
     */
    // Template#: 671, Serial#: 253
    public void and_r253(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0164((byte) 0x20, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andl  }<i>disp32</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code andl      [rbx + 305419896], 0x12345678}
     */
    // Template#: 672, Serial#: 769
    public void andl(int disp32, AMD64IndirectRegister64 destination, int imm32) {
        assemble0165((byte) 0x81, (byte) 0x04, disp32, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code andq  }<i>disp32</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code andq      [rbx + 305419896], 0x12345678}
     */
    // Template#: 673, Serial#: 841
    public void andq(int disp32, AMD64IndirectRegister64 destination, int imm32) {
        assemble0166((byte) 0x81, (byte) 0x04, disp32, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code andw  }<i>disp32</i>, <i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code andw      [rbx + 305419896], 0x1234}
     */
    // Template#: 674, Serial#: 913
    public void andw(int disp32, AMD64IndirectRegister64 destination, short imm16) {
        assemble0167((byte) 0x81, (byte) 0x04, disp32, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code andl  }<i>rel32</i>, <i>imm32</i>
     * Example disassembly syntax: {@code andl      [L1: +305419896], 0x12345678}
     */
    // Template#: 675, Serial#: 732
    public void rip_andl(int rel32, int imm32) {
        assemble0168((byte) 0x81, (byte) 0x04, rel32, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code andq  }<i>rel32</i>, <i>imm32</i>
     * Example disassembly syntax: {@code andq      [L1: +305419896], 0x12345678}
     */
    // Template#: 676, Serial#: 804
    public void rip_andq(int rel32, int imm32) {
        assemble0169((byte) 0x81, (byte) 0x04, rel32, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code andw  }<i>rel32</i>, <i>imm16</i>
     * Example disassembly syntax: {@code andw      [L1: +305419896], 0x1234}
     */
    // Template#: 677, Serial#: 876
    public void rip_andw(int rel32, short imm16) {
        assemble0170((byte) 0x81, (byte) 0x04, rel32, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code and  }<i>imm16</i>
     * Example disassembly syntax: {@code and       ax, 0x1234}
     */
    // Template#: 678, Serial#: 342
    public void and_AX(short imm16) {
        assemble0171((byte) 0x25, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andnpd    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 679, Serial#: 6754
    public void andnpd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x55, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andnpd    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 680, Serial#: 6763
    public void andnpd_r6763(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x55, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code andnpd    xmm0, [rbx + 18]}
     */
    // Template#: 681, Serial#: 6753
    public void andnpd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x55, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code andnpd    xmm0, [rbx + 18]}
     */
    // Template#: 682, Serial#: 6762
    public void andnpd_r6762(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x55, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andnpd    xmm0, rbx[rsi * 4]}
     */
    // Template#: 683, Serial#: 6750
    public void andnpd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x55, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andnpd    xmm0, rbx[rsi * 4]}
     */
    // Template#: 684, Serial#: 6759
    public void andnpd_r6759(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x55, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code andnpd    xmm0, [rbx]}
     */
    // Template#: 685, Serial#: 6749
    public void andnpd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x55, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code andnpd    xmm0, [rbx]}
     */
    // Template#: 686, Serial#: 6758
    public void andnpd_r6758(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x55, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code andnpd    xmm0, xmm0}
     */
    // Template#: 687, Serial#: 6757
    public void andnpd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x55, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code andnpd    xmm0, xmm0}
     */
    // Template#: 688, Serial#: 6766
    public void andnpd_r6766(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x55, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code andnpd    xmm0, [L1: +305419896]}
     */
    // Template#: 689, Serial#: 6752
    public void rip_andnpd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x55, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code andnpd    xmm0, [L1: +305419896]}
     */
    // Template#: 690, Serial#: 6761
    public void rip_andnpd_r6761(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x55, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andnpd    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 691, Serial#: 6756
    public void andnpd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x55, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andnpd    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 692, Serial#: 6765
    public void andnpd_r6765(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x55, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andnpd    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 693, Serial#: 6751
    public void m_andnpd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x55, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andnpd    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 694, Serial#: 6760
    public void m_andnpd_r6760(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x55, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code andnpd    xmm0, [rbx + 305419896]}
     */
    // Template#: 695, Serial#: 6755
    public void andnpd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x55, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code andnpd    xmm0, [rbx + 305419896]}
     */
    // Template#: 696, Serial#: 6764
    public void andnpd_r6764(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x55, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andnps    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 697, Serial#: 6661
    public void andnps(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0190((byte) 0x55, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andnps    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 698, Serial#: 6670
    public void andnps_r6670(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0191((byte) 0x55, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code andnps    xmm0, [rbx + 18]}
     */
    // Template#: 699, Serial#: 6660
    public void andnps(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0192((byte) 0x55, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code andnps    xmm0, [rbx + 18]}
     */
    // Template#: 700, Serial#: 6669
    public void andnps_r6669(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0193((byte) 0x55, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andnps    xmm0, rbx[rsi * 4]}
     */
    // Template#: 701, Serial#: 6657
    public void andnps(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0194((byte) 0x55, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andnps    xmm0, rbx[rsi * 4]}
     */
    // Template#: 702, Serial#: 6666
    public void andnps_r6666(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0195((byte) 0x55, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code andnps    xmm0, [rbx]}
     */
    // Template#: 703, Serial#: 6656
    public void andnps(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0196((byte) 0x55, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code andnps    xmm0, [rbx]}
     */
    // Template#: 704, Serial#: 6665
    public void andnps_r6665(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0197((byte) 0x55, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code andnps    xmm0, xmm0}
     */
    // Template#: 705, Serial#: 6664
    public void andnps(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0198((byte) 0x55, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code andnps    xmm0, xmm0}
     */
    // Template#: 706, Serial#: 6673
    public void andnps_r6673(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0199((byte) 0x55, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code andnps    xmm0, [L1: +305419896]}
     */
    // Template#: 707, Serial#: 6659
    public void rip_andnps(AMD64XMMRegister destination, int rel32) {
        assemble0200((byte) 0x55, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code andnps    xmm0, [L1: +305419896]}
     */
    // Template#: 708, Serial#: 6668
    public void rip_andnps_r6668(AMD64XMMRegister destination, int rel32) {
        assemble0201((byte) 0x55, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andnps    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 709, Serial#: 6663
    public void andnps(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0202((byte) 0x55, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andnps    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 710, Serial#: 6672
    public void andnps_r6672(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0203((byte) 0x55, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andnps    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 711, Serial#: 6658
    public void m_andnps(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0204((byte) 0x55, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andnps    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 712, Serial#: 6667
    public void m_andnps_r6667(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0205((byte) 0x55, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code andnps    xmm0, [rbx + 305419896]}
     */
    // Template#: 713, Serial#: 6662
    public void andnps(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0206((byte) 0x55, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andnps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code andnps    xmm0, [rbx + 305419896]}
     */
    // Template#: 714, Serial#: 6671
    public void andnps_r6671(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0207((byte) 0x55, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andpd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 715, Serial#: 6736
    public void andpd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x54, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andpd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 716, Serial#: 6745
    public void andpd_r6745(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x54, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code andpd     xmm0, [rbx + 18]}
     */
    // Template#: 717, Serial#: 6735
    public void andpd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x54, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code andpd     xmm0, [rbx + 18]}
     */
    // Template#: 718, Serial#: 6744
    public void andpd_r6744(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x54, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andpd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 719, Serial#: 6732
    public void andpd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x54, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andpd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 720, Serial#: 6741
    public void andpd_r6741(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x54, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code andpd     xmm0, [rbx]}
     */
    // Template#: 721, Serial#: 6731
    public void andpd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x54, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code andpd     xmm0, [rbx]}
     */
    // Template#: 722, Serial#: 6740
    public void andpd_r6740(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x54, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code andpd     xmm0, xmm0}
     */
    // Template#: 723, Serial#: 6739
    public void andpd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x54, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code andpd     xmm0, xmm0}
     */
    // Template#: 724, Serial#: 6748
    public void andpd_r6748(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x54, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code andpd     xmm0, [L1: +305419896]}
     */
    // Template#: 725, Serial#: 6734
    public void rip_andpd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x54, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code andpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code andpd     xmm0, [L1: +305419896]}
     */
    // Template#: 726, Serial#: 6743
    public void rip_andpd_r6743(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x54, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code andpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andpd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 727, Serial#: 6738
    public void andpd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x54, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andpd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 728, Serial#: 6747
    public void andpd_r6747(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x54, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andpd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 729, Serial#: 6733
    public void m_andpd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x54, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andpd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 730, Serial#: 6742
    public void m_andpd_r6742(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x54, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code andpd     xmm0, [rbx + 305419896]}
     */
    // Template#: 731, Serial#: 6737
    public void andpd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x54, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code andpd     xmm0, [rbx + 305419896]}
     */
    // Template#: 732, Serial#: 6746
    public void andpd_r6746(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x54, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andps     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 733, Serial#: 6643
    public void andps(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0190((byte) 0x54, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andps     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 734, Serial#: 6652
    public void andps_r6652(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0191((byte) 0x54, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code andps     xmm0, [rbx + 18]}
     */
    // Template#: 735, Serial#: 6642
    public void andps(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0192((byte) 0x54, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code andps     xmm0, [rbx + 18]}
     */
    // Template#: 736, Serial#: 6651
    public void andps_r6651(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0193((byte) 0x54, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andps     xmm0, rbx[rsi * 4]}
     */
    // Template#: 737, Serial#: 6639
    public void andps(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0194((byte) 0x54, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andps     xmm0, rbx[rsi * 4]}
     */
    // Template#: 738, Serial#: 6648
    public void andps_r6648(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0195((byte) 0x54, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code andps     xmm0, [rbx]}
     */
    // Template#: 739, Serial#: 6638
    public void andps(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0196((byte) 0x54, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code andps     xmm0, [rbx]}
     */
    // Template#: 740, Serial#: 6647
    public void andps_r6647(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0197((byte) 0x54, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code andps     xmm0, xmm0}
     */
    // Template#: 741, Serial#: 6646
    public void andps(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0198((byte) 0x54, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code andps     xmm0, xmm0}
     */
    // Template#: 742, Serial#: 6655
    public void andps_r6655(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0199((byte) 0x54, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code andps     xmm0, [L1: +305419896]}
     */
    // Template#: 743, Serial#: 6641
    public void rip_andps(AMD64XMMRegister destination, int rel32) {
        assemble0200((byte) 0x54, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code andps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code andps     xmm0, [L1: +305419896]}
     */
    // Template#: 744, Serial#: 6650
    public void rip_andps_r6650(AMD64XMMRegister destination, int rel32) {
        assemble0201((byte) 0x54, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code andps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andps     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 745, Serial#: 6645
    public void andps(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0202((byte) 0x54, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andps     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 746, Serial#: 6654
    public void andps_r6654(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0203((byte) 0x54, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andps     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 747, Serial#: 6640
    public void m_andps(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0204((byte) 0x54, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code andps     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 748, Serial#: 6649
    public void m_andps_r6649(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0205((byte) 0x54, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code andps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code andps     xmm0, [rbx + 305419896]}
     */
    // Template#: 749, Serial#: 6644
    public void andps(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0206((byte) 0x54, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code andps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code andps     xmm0, [rbx + 305419896]}
     */
    // Template#: 750, Serial#: 6653
    public void andps_r6653(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0207((byte) 0x54, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsf  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code bsf       ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 751, Serial#: 11648
    public void bsf(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0247((byte) 0xBC, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsf  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code bsf       ax, [rbx + 18]}
     */
    // Template#: 752, Serial#: 11647
    public void bsf(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0248((byte) 0xBC, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsf  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code bsf       ax, rbx[rsi * 4]}
     */
    // Template#: 753, Serial#: 11644
    public void bsf(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0249((byte) 0xBC, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsf  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bsf       ax, ax}
     */
    // Template#: 754, Serial#: 11651
    public void bsf(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0250((byte) 0xBC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsf  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bsf       ax, [rbx]}
     */
    // Template#: 755, Serial#: 11643
    public void bsf(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0251((byte) 0xBC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsf  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code bsf       ax, [L1: +305419896]}
     */
    // Template#: 756, Serial#: 11646
    public void rip_bsf(AMD64GeneralRegister16 destination, int rel32) {
        assemble0252((byte) 0xBC, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsf  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code bsf       ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 757, Serial#: 11650
    public void bsf(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0253((byte) 0xBC, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsf  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code bsf       ax, 0x12345678[rsi * 4]}
     */
    // Template#: 758, Serial#: 11645
    public void m_bsf(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0254((byte) 0xBC, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsf  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code bsf       ax, [rbx + 305419896]}
     */
    // Template#: 759, Serial#: 11649
    public void bsf(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0255((byte) 0xBC, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsf  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code bsf       eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 760, Serial#: 11630
    public void bsf(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0256((byte) 0xBC, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsf  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code bsf       eax, [rbx + 18]}
     */
    // Template#: 761, Serial#: 11629
    public void bsf(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0257((byte) 0xBC, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsf  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code bsf       eax, rbx[rsi * 4]}
     */
    // Template#: 762, Serial#: 11626
    public void bsf(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0258((byte) 0xBC, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsf  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bsf       eax, eax}
     */
    // Template#: 763, Serial#: 11633
    public void bsf(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0259((byte) 0xBC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsf  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bsf       eax, [rbx]}
     */
    // Template#: 764, Serial#: 11625
    public void bsf(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0260((byte) 0xBC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsf  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code bsf       eax, [L1: +305419896]}
     */
    // Template#: 765, Serial#: 11628
    public void rip_bsf(AMD64GeneralRegister32 destination, int rel32) {
        assemble0261((byte) 0xBC, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsf  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code bsf       eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 766, Serial#: 11632
    public void bsf(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0262((byte) 0xBC, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsf  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code bsf       eax, 0x12345678[rsi * 4]}
     */
    // Template#: 767, Serial#: 11627
    public void m_bsf(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0263((byte) 0xBC, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsf  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code bsf       eax, [rbx + 305419896]}
     */
    // Template#: 768, Serial#: 11631
    public void bsf(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0264((byte) 0xBC, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsf  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code bsf       rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 769, Serial#: 11639
    public void bsf(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0265((byte) 0xBC, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsf  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code bsf       rax, [rbx + 18]}
     */
    // Template#: 770, Serial#: 11638
    public void bsf(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0266((byte) 0xBC, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsf  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code bsf       rax, rbx[rsi * 4]}
     */
    // Template#: 771, Serial#: 11635
    public void bsf(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0267((byte) 0xBC, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsf  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bsf       rax, rax}
     */
    // Template#: 772, Serial#: 11642
    public void bsf(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0268((byte) 0xBC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsf  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bsf       rax, [rbx]}
     */
    // Template#: 773, Serial#: 11634
    public void bsf(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0269((byte) 0xBC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsf  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code bsf       rax, [L1: +305419896]}
     */
    // Template#: 774, Serial#: 11637
    public void rip_bsf(AMD64GeneralRegister64 destination, int rel32) {
        assemble0270((byte) 0xBC, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsf  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code bsf       rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 775, Serial#: 11641
    public void bsf(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0271((byte) 0xBC, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsf  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code bsf       rax, 0x12345678[rsi * 4]}
     */
    // Template#: 776, Serial#: 11636
    public void m_bsf(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0272((byte) 0xBC, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsf  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code bsf       rax, [rbx + 305419896]}
     */
    // Template#: 777, Serial#: 11640
    public void bsf(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0273((byte) 0xBC, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsr  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code bsr       ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 778, Serial#: 11675
    public void bsr(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0247((byte) 0xBD, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsr  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code bsr       ax, [rbx + 18]}
     */
    // Template#: 779, Serial#: 11674
    public void bsr(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0248((byte) 0xBD, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsr  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code bsr       ax, rbx[rsi * 4]}
     */
    // Template#: 780, Serial#: 11671
    public void bsr(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0249((byte) 0xBD, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsr  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bsr       ax, ax}
     */
    // Template#: 781, Serial#: 11678
    public void bsr(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0250((byte) 0xBD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsr  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bsr       ax, [rbx]}
     */
    // Template#: 782, Serial#: 11670
    public void bsr(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0251((byte) 0xBD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsr  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code bsr       ax, [L1: +305419896]}
     */
    // Template#: 783, Serial#: 11673
    public void rip_bsr(AMD64GeneralRegister16 destination, int rel32) {
        assemble0252((byte) 0xBD, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsr  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code bsr       ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 784, Serial#: 11677
    public void bsr(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0253((byte) 0xBD, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsr  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code bsr       ax, 0x12345678[rsi * 4]}
     */
    // Template#: 785, Serial#: 11672
    public void m_bsr(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0254((byte) 0xBD, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsr  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code bsr       ax, [rbx + 305419896]}
     */
    // Template#: 786, Serial#: 11676
    public void bsr(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0255((byte) 0xBD, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsr  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code bsr       eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 787, Serial#: 11657
    public void bsr(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0256((byte) 0xBD, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsr  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code bsr       eax, [rbx + 18]}
     */
    // Template#: 788, Serial#: 11656
    public void bsr(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0257((byte) 0xBD, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsr  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code bsr       eax, rbx[rsi * 4]}
     */
    // Template#: 789, Serial#: 11653
    public void bsr(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0258((byte) 0xBD, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsr  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bsr       eax, eax}
     */
    // Template#: 790, Serial#: 11660
    public void bsr(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0259((byte) 0xBD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsr  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bsr       eax, [rbx]}
     */
    // Template#: 791, Serial#: 11652
    public void bsr(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0260((byte) 0xBD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsr  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code bsr       eax, [L1: +305419896]}
     */
    // Template#: 792, Serial#: 11655
    public void rip_bsr(AMD64GeneralRegister32 destination, int rel32) {
        assemble0261((byte) 0xBD, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsr  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code bsr       eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 793, Serial#: 11659
    public void bsr(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0262((byte) 0xBD, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsr  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code bsr       eax, 0x12345678[rsi * 4]}
     */
    // Template#: 794, Serial#: 11654
    public void m_bsr(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0263((byte) 0xBD, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsr  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code bsr       eax, [rbx + 305419896]}
     */
    // Template#: 795, Serial#: 11658
    public void bsr(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0264((byte) 0xBD, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsr  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code bsr       rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 796, Serial#: 11666
    public void bsr(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0265((byte) 0xBD, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsr  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code bsr       rax, [rbx + 18]}
     */
    // Template#: 797, Serial#: 11665
    public void bsr(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0266((byte) 0xBD, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsr  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code bsr       rax, rbx[rsi * 4]}
     */
    // Template#: 798, Serial#: 11662
    public void bsr(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0267((byte) 0xBD, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsr  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bsr       rax, rax}
     */
    // Template#: 799, Serial#: 11669
    public void bsr(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0268((byte) 0xBD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsr  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bsr       rax, [rbx]}
     */
    // Template#: 800, Serial#: 11661
    public void bsr(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0269((byte) 0xBD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsr  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code bsr       rax, [L1: +305419896]}
     */
    // Template#: 801, Serial#: 11664
    public void rip_bsr(AMD64GeneralRegister64 destination, int rel32) {
        assemble0270((byte) 0xBD, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsr  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code bsr       rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 802, Serial#: 11668
    public void bsr(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0271((byte) 0xBD, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsr  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code bsr       rax, 0x12345678[rsi * 4]}
     */
    // Template#: 803, Serial#: 11663
    public void m_bsr(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0272((byte) 0xBD, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code bsr  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code bsr       rax, [rbx + 305419896]}
     */
    // Template#: 804, Serial#: 11667
    public void bsr(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0273((byte) 0xBD, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bswap  }<i>register</i>
     * Example disassembly syntax: {@code bswap     eax}
     */
    // Template#: 805, Serial#: 11724
    public void bswap(AMD64GeneralRegister32 register) {
        assemble0274((byte) 0xC8, register);
    }

    /**
     * Pseudo-external assembler syntax: {@code bswap  }<i>register</i>
     * Example disassembly syntax: {@code bswap     rax}
     */
    // Template#: 806, Serial#: 11725
    public void bswap(AMD64GeneralRegister64 register) {
        assemble0275((byte) 0xC8, register);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bt        rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 807, Serial#: 11507
    public void bt(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0276((byte) 0xBA, (byte) 0x04, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bt        rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 808, Serial#: 11543
    public void bt_r11543(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0277((byte) 0xBA, (byte) 0x04, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bt        rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 809, Serial#: 11579
    public void bt_r11579(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0278((byte) 0xBA, (byte) 0x04, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code bt        rbx[rsi * 4 + 18], ax}
     */
    // Template#: 810, Serial#: 7762
    public void bt(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0279((byte) 0xA3, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code bt        rbx[rsi * 4 + 18], eax}
     */
    // Template#: 811, Serial#: 7744
    public void bt(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0280((byte) 0xA3, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code bt        rbx[rsi * 4 + 18], rax}
     */
    // Template#: 812, Serial#: 7753
    public void bt(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0281((byte) 0xA3, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bt        [rbx + 18], 0x12}
     */
    // Template#: 813, Serial#: 11506
    public void bt(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0282((byte) 0xBA, (byte) 0x04, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bt        [rbx + 18], 0x12}
     */
    // Template#: 814, Serial#: 11542
    public void bt_r11542(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0283((byte) 0xBA, (byte) 0x04, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bt        [rbx + 18], 0x12}
     */
    // Template#: 815, Serial#: 11578
    public void bt_r11578(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0284((byte) 0xBA, (byte) 0x04, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bt        [rbx + 18], ax}
     */
    // Template#: 816, Serial#: 7761
    public void bt(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0285((byte) 0xA3, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bt        [rbx + 18], eax}
     */
    // Template#: 817, Serial#: 7743
    public void bt(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0286((byte) 0xA3, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bt        [rbx + 18], rax}
     */
    // Template#: 818, Serial#: 7752
    public void bt(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0287((byte) 0xA3, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bt        rbx[rsi * 4], 0x12}
     */
    // Template#: 819, Serial#: 11491
    public void bt(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0288((byte) 0xBA, (byte) 0x04, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bt        rbx[rsi * 4], 0x12}
     */
    // Template#: 820, Serial#: 11527
    public void bt_r11527(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0289((byte) 0xBA, (byte) 0x04, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bt        rbx[rsi * 4], 0x12}
     */
    // Template#: 821, Serial#: 11563
    public void bt_r11563(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0290((byte) 0xBA, (byte) 0x04, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code bt        rbx[rsi * 4], ax}
     */
    // Template#: 822, Serial#: 7758
    public void bt(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0291((byte) 0xA3, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code bt        rbx[rsi * 4], eax}
     */
    // Template#: 823, Serial#: 7740
    public void bt(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0292((byte) 0xA3, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code bt        rbx[rsi * 4], rax}
     */
    // Template#: 824, Serial#: 7749
    public void bt(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0293((byte) 0xA3, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bt        ax, 0x12}
     */
    // Template#: 825, Serial#: 11594
    public void bt(AMD64GeneralRegister16 destination, byte imm8) {
        assemble0294((byte) 0xBA, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bt        ax, ax}
     */
    // Template#: 826, Serial#: 7765
    public void bt(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0295((byte) 0xA3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bt        eax, 0x12}
     */
    // Template#: 827, Serial#: 11522
    public void bt(AMD64GeneralRegister32 destination, byte imm8) {
        assemble0296((byte) 0xBA, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bt        eax, eax}
     */
    // Template#: 828, Serial#: 7747
    public void bt(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0297((byte) 0xA3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bt        rax, 0x12}
     */
    // Template#: 829, Serial#: 11558
    public void bt(AMD64GeneralRegister64 destination, byte imm8) {
        assemble0298((byte) 0xBA, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bt        rax, rax}
     */
    // Template#: 830, Serial#: 7756
    public void bt(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0299((byte) 0xA3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bt        [rbx], 0x12}
     */
    // Template#: 831, Serial#: 11490
    public void bt(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0300((byte) 0xBA, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bt        [rbx], 0x12}
     */
    // Template#: 832, Serial#: 11526
    public void bt_r11526(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0301((byte) 0xBA, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bt        [rbx], 0x12}
     */
    // Template#: 833, Serial#: 11562
    public void bt_r11562(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0302((byte) 0xBA, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bt        [rbx], ax}
     */
    // Template#: 834, Serial#: 7757
    public void bt(AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0303((byte) 0xA3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bt        [rbx], eax}
     */
    // Template#: 835, Serial#: 7739
    public void bt(AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0304((byte) 0xA3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bt        [rbx], rax}
     */
    // Template#: 836, Serial#: 7748
    public void bt(AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0305((byte) 0xA3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bt        [L1: +305419896], 0x12}
     */
    // Template#: 837, Serial#: 11493
    public void rip_bt(int rel32, byte imm8) {
        assemble0306((byte) 0xBA, (byte) 0x04, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bt        [L1: +305419896], 0x12}
     */
    // Template#: 838, Serial#: 11529
    public void rip_bt_r11529(int rel32, byte imm8) {
        assemble0307((byte) 0xBA, (byte) 0x04, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bt        [L1: +305419896], 0x12}
     */
    // Template#: 839, Serial#: 11565
    public void rip_bt_r11565(int rel32, byte imm8) {
        assemble0308((byte) 0xBA, (byte) 0x04, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bt        rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 840, Serial#: 11515
    public void bt(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0309((byte) 0xBA, (byte) 0x04, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bt        rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 841, Serial#: 11551
    public void bt_r11551(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0310((byte) 0xBA, (byte) 0x04, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bt        rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 842, Serial#: 11587
    public void bt_r11587(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0311((byte) 0xBA, (byte) 0x04, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code bt        rbx[rsi * 4 + 305419896], ax}
     */
    // Template#: 843, Serial#: 7764
    public void bt(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0312((byte) 0xA3, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code bt        rbx[rsi * 4 + 305419896], eax}
     */
    // Template#: 844, Serial#: 7746
    public void bt(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0313((byte) 0xA3, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code bt        rbx[rsi * 4 + 305419896], rax}
     */
    // Template#: 845, Serial#: 7755
    public void bt(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0314((byte) 0xA3, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code bt        [L1: +305419896], ax}
     */
    // Template#: 846, Serial#: 7760
    public void rip_bt(int rel32, AMD64GeneralRegister16 source) {
        assemble0315((byte) 0xA3, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code bt        [L1: +305419896], eax}
     */
    // Template#: 847, Serial#: 7742
    public void rip_bt(int rel32, AMD64GeneralRegister32 source) {
        assemble0316((byte) 0xA3, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code bt        [L1: +305419896], rax}
     */
    // Template#: 848, Serial#: 7751
    public void rip_bt(int rel32, AMD64GeneralRegister64 source) {
        assemble0317((byte) 0xA3, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bt        0x12345678[rsi * 4], 0x12}
     */
    // Template#: 849, Serial#: 11492
    public void m_bt(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0318((byte) 0xBA, (byte) 0x04, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bt        0x12345678[rsi * 4], 0x12}
     */
    // Template#: 850, Serial#: 11528
    public void m_bt_r11528(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0319((byte) 0xBA, (byte) 0x04, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bt        0x12345678[rsi * 4], 0x12}
     */
    // Template#: 851, Serial#: 11564
    public void m_bt_r11564(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0320((byte) 0xBA, (byte) 0x04, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code bt        0x12345678[rsi * 4], ax}
     */
    // Template#: 852, Serial#: 7759
    public void m_bt(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0321((byte) 0xA3, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code bt        0x12345678[rsi * 4], eax}
     */
    // Template#: 853, Serial#: 7741
    public void m_bt(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0322((byte) 0xA3, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code bt        0x12345678[rsi * 4], rax}
     */
    // Template#: 854, Serial#: 7750
    public void m_bt(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0323((byte) 0xA3, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bt        [rbx + 305419896], 0x12}
     */
    // Template#: 855, Serial#: 11514
    public void bt(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0324((byte) 0xBA, (byte) 0x04, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bt        [rbx + 305419896], 0x12}
     */
    // Template#: 856, Serial#: 11550
    public void bt_r11550(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0325((byte) 0xBA, (byte) 0x04, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bt        [rbx + 305419896], 0x12}
     */
    // Template#: 857, Serial#: 11586
    public void bt_r11586(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0326((byte) 0xBA, (byte) 0x04, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bt        [rbx + 305419896], ax}
     */
    // Template#: 858, Serial#: 7763
    public void bt(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0327((byte) 0xA3, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bt        [rbx + 305419896], eax}
     */
    // Template#: 859, Serial#: 7745
    public void bt(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0328((byte) 0xA3, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bt  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bt        [rbx + 305419896], rax}
     */
    // Template#: 860, Serial#: 7754
    public void bt(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0329((byte) 0xA3, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btc       rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 861, Serial#: 11513
    public void btc(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0276((byte) 0xBA, (byte) 0x07, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btc       rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 862, Serial#: 11549
    public void btc_r11549(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0277((byte) 0xBA, (byte) 0x07, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btc       rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 863, Serial#: 11585
    public void btc_r11585(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0278((byte) 0xBA, (byte) 0x07, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code btc       rbx[rsi * 4 + 18], ax}
     */
    // Template#: 864, Serial#: 11621
    public void btc(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0279((byte) 0xBB, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code btc       rbx[rsi * 4 + 18], eax}
     */
    // Template#: 865, Serial#: 11603
    public void btc(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0280((byte) 0xBB, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code btc       rbx[rsi * 4 + 18], rax}
     */
    // Template#: 866, Serial#: 11612
    public void btc(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0281((byte) 0xBB, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btc       [rbx + 18], 0x12}
     */
    // Template#: 867, Serial#: 11512
    public void btc(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0282((byte) 0xBA, (byte) 0x07, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btc       [rbx + 18], 0x12}
     */
    // Template#: 868, Serial#: 11548
    public void btc_r11548(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0283((byte) 0xBA, (byte) 0x07, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btc       [rbx + 18], 0x12}
     */
    // Template#: 869, Serial#: 11584
    public void btc_r11584(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0284((byte) 0xBA, (byte) 0x07, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code btc       [rbx + 18], ax}
     */
    // Template#: 870, Serial#: 11620
    public void btc(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0285((byte) 0xBB, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code btc       [rbx + 18], eax}
     */
    // Template#: 871, Serial#: 11602
    public void btc(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0286((byte) 0xBB, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code btc       [rbx + 18], rax}
     */
    // Template#: 872, Serial#: 11611
    public void btc(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0287((byte) 0xBB, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btc       rbx[rsi * 4], 0x12}
     */
    // Template#: 873, Serial#: 11503
    public void btc(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0288((byte) 0xBA, (byte) 0x07, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btc       rbx[rsi * 4], 0x12}
     */
    // Template#: 874, Serial#: 11539
    public void btc_r11539(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0289((byte) 0xBA, (byte) 0x07, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btc       rbx[rsi * 4], 0x12}
     */
    // Template#: 875, Serial#: 11575
    public void btc_r11575(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0290((byte) 0xBA, (byte) 0x07, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code btc       rbx[rsi * 4], ax}
     */
    // Template#: 876, Serial#: 11617
    public void btc(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0291((byte) 0xBB, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code btc       rbx[rsi * 4], eax}
     */
    // Template#: 877, Serial#: 11599
    public void btc(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0292((byte) 0xBB, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code btc       rbx[rsi * 4], rax}
     */
    // Template#: 878, Serial#: 11608
    public void btc(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0293((byte) 0xBB, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btc       ax, 0x12}
     */
    // Template#: 879, Serial#: 11597
    public void btc(AMD64GeneralRegister16 destination, byte imm8) {
        assemble0294((byte) 0xBA, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code btc       ax, ax}
     */
    // Template#: 880, Serial#: 11624
    public void btc(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0295((byte) 0xBB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btc       eax, 0x12}
     */
    // Template#: 881, Serial#: 11525
    public void btc(AMD64GeneralRegister32 destination, byte imm8) {
        assemble0296((byte) 0xBA, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code btc       eax, eax}
     */
    // Template#: 882, Serial#: 11606
    public void btc(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0297((byte) 0xBB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btc       rax, 0x12}
     */
    // Template#: 883, Serial#: 11561
    public void btc(AMD64GeneralRegister64 destination, byte imm8) {
        assemble0298((byte) 0xBA, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code btc       rax, rax}
     */
    // Template#: 884, Serial#: 11615
    public void btc(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0299((byte) 0xBB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btc       [rbx], 0x12}
     */
    // Template#: 885, Serial#: 11502
    public void btc(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0300((byte) 0xBA, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btc       [rbx], 0x12}
     */
    // Template#: 886, Serial#: 11538
    public void btc_r11538(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0301((byte) 0xBA, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btc       [rbx], 0x12}
     */
    // Template#: 887, Serial#: 11574
    public void btc_r11574(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0302((byte) 0xBA, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code btc       [rbx], ax}
     */
    // Template#: 888, Serial#: 11616
    public void btc(AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0303((byte) 0xBB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code btc       [rbx], eax}
     */
    // Template#: 889, Serial#: 11598
    public void btc(AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0304((byte) 0xBB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code btc       [rbx], rax}
     */
    // Template#: 890, Serial#: 11607
    public void btc(AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0305((byte) 0xBB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btc       [L1: +305419896], 0x12}
     */
    // Template#: 891, Serial#: 11505
    public void rip_btc(int rel32, byte imm8) {
        assemble0306((byte) 0xBA, (byte) 0x07, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btc       [L1: +305419896], 0x12}
     */
    // Template#: 892, Serial#: 11541
    public void rip_btc_r11541(int rel32, byte imm8) {
        assemble0307((byte) 0xBA, (byte) 0x07, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btc       [L1: +305419896], 0x12}
     */
    // Template#: 893, Serial#: 11577
    public void rip_btc_r11577(int rel32, byte imm8) {
        assemble0308((byte) 0xBA, (byte) 0x07, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btc       rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 894, Serial#: 11521
    public void btc(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0309((byte) 0xBA, (byte) 0x07, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btc       rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 895, Serial#: 11557
    public void btc_r11557(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0310((byte) 0xBA, (byte) 0x07, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btc       rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 896, Serial#: 11593
    public void btc_r11593(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0311((byte) 0xBA, (byte) 0x07, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code btc       rbx[rsi * 4 + 305419896], ax}
     */
    // Template#: 897, Serial#: 11623
    public void btc(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0312((byte) 0xBB, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code btc       rbx[rsi * 4 + 305419896], eax}
     */
    // Template#: 898, Serial#: 11605
    public void btc(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0313((byte) 0xBB, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code btc       rbx[rsi * 4 + 305419896], rax}
     */
    // Template#: 899, Serial#: 11614
    public void btc(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0314((byte) 0xBB, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code btc       [L1: +305419896], ax}
     */
    // Template#: 900, Serial#: 11619
    public void rip_btc(int rel32, AMD64GeneralRegister16 source) {
        assemble0315((byte) 0xBB, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code btc       [L1: +305419896], eax}
     */
    // Template#: 901, Serial#: 11601
    public void rip_btc(int rel32, AMD64GeneralRegister32 source) {
        assemble0316((byte) 0xBB, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code btc       [L1: +305419896], rax}
     */
    // Template#: 902, Serial#: 11610
    public void rip_btc(int rel32, AMD64GeneralRegister64 source) {
        assemble0317((byte) 0xBB, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btc       0x12345678[rsi * 4], 0x12}
     */
    // Template#: 903, Serial#: 11504
    public void m_btc(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0318((byte) 0xBA, (byte) 0x07, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btc       0x12345678[rsi * 4], 0x12}
     */
    // Template#: 904, Serial#: 11540
    public void m_btc_r11540(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0319((byte) 0xBA, (byte) 0x07, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btc       0x12345678[rsi * 4], 0x12}
     */
    // Template#: 905, Serial#: 11576
    public void m_btc_r11576(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0320((byte) 0xBA, (byte) 0x07, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code btc       0x12345678[rsi * 4], ax}
     */
    // Template#: 906, Serial#: 11618
    public void m_btc(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0321((byte) 0xBB, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code btc       0x12345678[rsi * 4], eax}
     */
    // Template#: 907, Serial#: 11600
    public void m_btc(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0322((byte) 0xBB, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code btc       0x12345678[rsi * 4], rax}
     */
    // Template#: 908, Serial#: 11609
    public void m_btc(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0323((byte) 0xBB, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btc       [rbx + 305419896], 0x12}
     */
    // Template#: 909, Serial#: 11520
    public void btc(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0324((byte) 0xBA, (byte) 0x07, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btc       [rbx + 305419896], 0x12}
     */
    // Template#: 910, Serial#: 11556
    public void btc_r11556(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0325((byte) 0xBA, (byte) 0x07, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btc       [rbx + 305419896], 0x12}
     */
    // Template#: 911, Serial#: 11592
    public void btc_r11592(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0326((byte) 0xBA, (byte) 0x07, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code btc       [rbx + 305419896], ax}
     */
    // Template#: 912, Serial#: 11622
    public void btc(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0327((byte) 0xBB, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code btc       [rbx + 305419896], eax}
     */
    // Template#: 913, Serial#: 11604
    public void btc(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0328((byte) 0xBB, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btc  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code btc       [rbx + 305419896], rax}
     */
    // Template#: 914, Serial#: 11613
    public void btc(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0329((byte) 0xBB, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btr       rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 915, Serial#: 11511
    public void btr(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0276((byte) 0xBA, (byte) 0x06, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btr       rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 916, Serial#: 11547
    public void btr_r11547(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0277((byte) 0xBA, (byte) 0x06, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btr       rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 917, Serial#: 11583
    public void btr_r11583(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0278((byte) 0xBA, (byte) 0x06, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code btr       rbx[rsi * 4 + 18], ax}
     */
    // Template#: 918, Serial#: 7897
    public void btr(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0279((byte) 0xB3, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code btr       rbx[rsi * 4 + 18], eax}
     */
    // Template#: 919, Serial#: 7879
    public void btr(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0280((byte) 0xB3, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code btr       rbx[rsi * 4 + 18], rax}
     */
    // Template#: 920, Serial#: 7888
    public void btr(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0281((byte) 0xB3, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btr       [rbx + 18], 0x12}
     */
    // Template#: 921, Serial#: 11510
    public void btr(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0282((byte) 0xBA, (byte) 0x06, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btr       [rbx + 18], 0x12}
     */
    // Template#: 922, Serial#: 11546
    public void btr_r11546(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0283((byte) 0xBA, (byte) 0x06, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btr       [rbx + 18], 0x12}
     */
    // Template#: 923, Serial#: 11582
    public void btr_r11582(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0284((byte) 0xBA, (byte) 0x06, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code btr       [rbx + 18], ax}
     */
    // Template#: 924, Serial#: 7896
    public void btr(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0285((byte) 0xB3, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code btr       [rbx + 18], eax}
     */
    // Template#: 925, Serial#: 7878
    public void btr(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0286((byte) 0xB3, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code btr       [rbx + 18], rax}
     */
    // Template#: 926, Serial#: 7887
    public void btr(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0287((byte) 0xB3, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btr       rbx[rsi * 4], 0x12}
     */
    // Template#: 927, Serial#: 11499
    public void btr(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0288((byte) 0xBA, (byte) 0x06, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btr       rbx[rsi * 4], 0x12}
     */
    // Template#: 928, Serial#: 11535
    public void btr_r11535(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0289((byte) 0xBA, (byte) 0x06, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btr       rbx[rsi * 4], 0x12}
     */
    // Template#: 929, Serial#: 11571
    public void btr_r11571(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0290((byte) 0xBA, (byte) 0x06, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code btr       rbx[rsi * 4], ax}
     */
    // Template#: 930, Serial#: 7893
    public void btr(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0291((byte) 0xB3, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code btr       rbx[rsi * 4], eax}
     */
    // Template#: 931, Serial#: 7875
    public void btr(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0292((byte) 0xB3, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code btr       rbx[rsi * 4], rax}
     */
    // Template#: 932, Serial#: 7884
    public void btr(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0293((byte) 0xB3, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btr       ax, 0x12}
     */
    // Template#: 933, Serial#: 11596
    public void btr(AMD64GeneralRegister16 destination, byte imm8) {
        assemble0294((byte) 0xBA, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code btr       ax, ax}
     */
    // Template#: 934, Serial#: 7900
    public void btr(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0295((byte) 0xB3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btr       eax, 0x12}
     */
    // Template#: 935, Serial#: 11524
    public void btr(AMD64GeneralRegister32 destination, byte imm8) {
        assemble0296((byte) 0xBA, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code btr       eax, eax}
     */
    // Template#: 936, Serial#: 7882
    public void btr(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0297((byte) 0xB3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btr       rax, 0x12}
     */
    // Template#: 937, Serial#: 11560
    public void btr(AMD64GeneralRegister64 destination, byte imm8) {
        assemble0298((byte) 0xBA, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code btr       rax, rax}
     */
    // Template#: 938, Serial#: 7891
    public void btr(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0299((byte) 0xB3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btr       [rbx], 0x12}
     */
    // Template#: 939, Serial#: 11498
    public void btr(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0300((byte) 0xBA, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btr       [rbx], 0x12}
     */
    // Template#: 940, Serial#: 11534
    public void btr_r11534(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0301((byte) 0xBA, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btr       [rbx], 0x12}
     */
    // Template#: 941, Serial#: 11570
    public void btr_r11570(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0302((byte) 0xBA, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code btr       [rbx], ax}
     */
    // Template#: 942, Serial#: 7892
    public void btr(AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0303((byte) 0xB3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code btr       [rbx], eax}
     */
    // Template#: 943, Serial#: 7874
    public void btr(AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0304((byte) 0xB3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code btr       [rbx], rax}
     */
    // Template#: 944, Serial#: 7883
    public void btr(AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0305((byte) 0xB3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btr       [L1: +305419896], 0x12}
     */
    // Template#: 945, Serial#: 11501
    public void rip_btr(int rel32, byte imm8) {
        assemble0306((byte) 0xBA, (byte) 0x06, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btr       [L1: +305419896], 0x12}
     */
    // Template#: 946, Serial#: 11537
    public void rip_btr_r11537(int rel32, byte imm8) {
        assemble0307((byte) 0xBA, (byte) 0x06, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btr       [L1: +305419896], 0x12}
     */
    // Template#: 947, Serial#: 11573
    public void rip_btr_r11573(int rel32, byte imm8) {
        assemble0308((byte) 0xBA, (byte) 0x06, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btr       rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 948, Serial#: 11519
    public void btr(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0309((byte) 0xBA, (byte) 0x06, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btr       rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 949, Serial#: 11555
    public void btr_r11555(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0310((byte) 0xBA, (byte) 0x06, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btr       rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 950, Serial#: 11591
    public void btr_r11591(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0311((byte) 0xBA, (byte) 0x06, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code btr       rbx[rsi * 4 + 305419896], ax}
     */
    // Template#: 951, Serial#: 7899
    public void btr(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0312((byte) 0xB3, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code btr       rbx[rsi * 4 + 305419896], eax}
     */
    // Template#: 952, Serial#: 7881
    public void btr(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0313((byte) 0xB3, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code btr       rbx[rsi * 4 + 305419896], rax}
     */
    // Template#: 953, Serial#: 7890
    public void btr(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0314((byte) 0xB3, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code btr       [L1: +305419896], ax}
     */
    // Template#: 954, Serial#: 7895
    public void rip_btr(int rel32, AMD64GeneralRegister16 source) {
        assemble0315((byte) 0xB3, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code btr       [L1: +305419896], eax}
     */
    // Template#: 955, Serial#: 7877
    public void rip_btr(int rel32, AMD64GeneralRegister32 source) {
        assemble0316((byte) 0xB3, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code btr       [L1: +305419896], rax}
     */
    // Template#: 956, Serial#: 7886
    public void rip_btr(int rel32, AMD64GeneralRegister64 source) {
        assemble0317((byte) 0xB3, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btr       0x12345678[rsi * 4], 0x12}
     */
    // Template#: 957, Serial#: 11500
    public void m_btr(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0318((byte) 0xBA, (byte) 0x06, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btr       0x12345678[rsi * 4], 0x12}
     */
    // Template#: 958, Serial#: 11536
    public void m_btr_r11536(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0319((byte) 0xBA, (byte) 0x06, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btr       0x12345678[rsi * 4], 0x12}
     */
    // Template#: 959, Serial#: 11572
    public void m_btr_r11572(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0320((byte) 0xBA, (byte) 0x06, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code btr       0x12345678[rsi * 4], ax}
     */
    // Template#: 960, Serial#: 7894
    public void m_btr(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0321((byte) 0xB3, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code btr       0x12345678[rsi * 4], eax}
     */
    // Template#: 961, Serial#: 7876
    public void m_btr(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0322((byte) 0xB3, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code btr       0x12345678[rsi * 4], rax}
     */
    // Template#: 962, Serial#: 7885
    public void m_btr(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0323((byte) 0xB3, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btr       [rbx + 305419896], 0x12}
     */
    // Template#: 963, Serial#: 11518
    public void btr(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0324((byte) 0xBA, (byte) 0x06, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btr       [rbx + 305419896], 0x12}
     */
    // Template#: 964, Serial#: 11554
    public void btr_r11554(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0325((byte) 0xBA, (byte) 0x06, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code btr       [rbx + 305419896], 0x12}
     */
    // Template#: 965, Serial#: 11590
    public void btr_r11590(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0326((byte) 0xBA, (byte) 0x06, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code btr       [rbx + 305419896], ax}
     */
    // Template#: 966, Serial#: 7898
    public void btr(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0327((byte) 0xB3, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code btr       [rbx + 305419896], eax}
     */
    // Template#: 967, Serial#: 7880
    public void btr(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0328((byte) 0xB3, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code btr  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code btr       [rbx + 305419896], rax}
     */
    // Template#: 968, Serial#: 7889
    public void btr(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0329((byte) 0xB3, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bts       rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 969, Serial#: 11509
    public void bts(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0276((byte) 0xBA, (byte) 0x05, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bts       rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 970, Serial#: 11545
    public void bts_r11545(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0277((byte) 0xBA, (byte) 0x05, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bts       rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 971, Serial#: 11581
    public void bts_r11581(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0278((byte) 0xBA, (byte) 0x05, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code bts       rbx[rsi * 4 + 18], ax}
     */
    // Template#: 972, Serial#: 11276
    public void bts(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0279((byte) 0xAB, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code bts       rbx[rsi * 4 + 18], eax}
     */
    // Template#: 973, Serial#: 11258
    public void bts(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0280((byte) 0xAB, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code bts       rbx[rsi * 4 + 18], rax}
     */
    // Template#: 974, Serial#: 11267
    public void bts(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0281((byte) 0xAB, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bts       [rbx + 18], 0x12}
     */
    // Template#: 975, Serial#: 11508
    public void bts(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0282((byte) 0xBA, (byte) 0x05, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bts       [rbx + 18], 0x12}
     */
    // Template#: 976, Serial#: 11544
    public void bts_r11544(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0283((byte) 0xBA, (byte) 0x05, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bts       [rbx + 18], 0x12}
     */
    // Template#: 977, Serial#: 11580
    public void bts_r11580(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0284((byte) 0xBA, (byte) 0x05, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bts       [rbx + 18], ax}
     */
    // Template#: 978, Serial#: 11275
    public void bts(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0285((byte) 0xAB, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bts       [rbx + 18], eax}
     */
    // Template#: 979, Serial#: 11257
    public void bts(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0286((byte) 0xAB, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bts       [rbx + 18], rax}
     */
    // Template#: 980, Serial#: 11266
    public void bts(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0287((byte) 0xAB, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bts       rbx[rsi * 4], 0x12}
     */
    // Template#: 981, Serial#: 11495
    public void bts(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0288((byte) 0xBA, (byte) 0x05, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bts       rbx[rsi * 4], 0x12}
     */
    // Template#: 982, Serial#: 11531
    public void bts_r11531(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0289((byte) 0xBA, (byte) 0x05, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bts       rbx[rsi * 4], 0x12}
     */
    // Template#: 983, Serial#: 11567
    public void bts_r11567(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0290((byte) 0xBA, (byte) 0x05, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code bts       rbx[rsi * 4], ax}
     */
    // Template#: 984, Serial#: 11272
    public void bts(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0291((byte) 0xAB, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code bts       rbx[rsi * 4], eax}
     */
    // Template#: 985, Serial#: 11254
    public void bts(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0292((byte) 0xAB, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code bts       rbx[rsi * 4], rax}
     */
    // Template#: 986, Serial#: 11263
    public void bts(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0293((byte) 0xAB, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bts       ax, 0x12}
     */
    // Template#: 987, Serial#: 11595
    public void bts(AMD64GeneralRegister16 destination, byte imm8) {
        assemble0294((byte) 0xBA, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bts       ax, ax}
     */
    // Template#: 988, Serial#: 11279
    public void bts(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0295((byte) 0xAB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bts       eax, 0x12}
     */
    // Template#: 989, Serial#: 11523
    public void bts(AMD64GeneralRegister32 destination, byte imm8) {
        assemble0296((byte) 0xBA, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bts       eax, eax}
     */
    // Template#: 990, Serial#: 11261
    public void bts(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0297((byte) 0xAB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bts       rax, 0x12}
     */
    // Template#: 991, Serial#: 11559
    public void bts(AMD64GeneralRegister64 destination, byte imm8) {
        assemble0298((byte) 0xBA, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bts       rax, rax}
     */
    // Template#: 992, Serial#: 11270
    public void bts(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0299((byte) 0xAB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bts       [rbx], 0x12}
     */
    // Template#: 993, Serial#: 11494
    public void bts(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0300((byte) 0xBA, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bts       [rbx], 0x12}
     */
    // Template#: 994, Serial#: 11530
    public void bts_r11530(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0301((byte) 0xBA, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bts       [rbx], 0x12}
     */
    // Template#: 995, Serial#: 11566
    public void bts_r11566(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0302((byte) 0xBA, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bts       [rbx], ax}
     */
    // Template#: 996, Serial#: 11271
    public void bts(AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0303((byte) 0xAB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bts       [rbx], eax}
     */
    // Template#: 997, Serial#: 11253
    public void bts(AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0304((byte) 0xAB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bts       [rbx], rax}
     */
    // Template#: 998, Serial#: 11262
    public void bts(AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0305((byte) 0xAB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bts       [L1: +305419896], 0x12}
     */
    // Template#: 999, Serial#: 11497
    public void rip_bts(int rel32, byte imm8) {
        assemble0306((byte) 0xBA, (byte) 0x05, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bts       [L1: +305419896], 0x12}
     */
    // Template#: 1000, Serial#: 11533
    public void rip_bts_r11533(int rel32, byte imm8) {
        assemble0307((byte) 0xBA, (byte) 0x05, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bts       [L1: +305419896], 0x12}
     */
    // Template#: 1001, Serial#: 11569
    public void rip_bts_r11569(int rel32, byte imm8) {
        assemble0308((byte) 0xBA, (byte) 0x05, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bts       rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 1002, Serial#: 11517
    public void bts(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0309((byte) 0xBA, (byte) 0x05, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bts       rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 1003, Serial#: 11553
    public void bts_r11553(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0310((byte) 0xBA, (byte) 0x05, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bts       rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 1004, Serial#: 11589
    public void bts_r11589(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0311((byte) 0xBA, (byte) 0x05, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code bts       rbx[rsi * 4 + 305419896], ax}
     */
    // Template#: 1005, Serial#: 11278
    public void bts(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0312((byte) 0xAB, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code bts       rbx[rsi * 4 + 305419896], eax}
     */
    // Template#: 1006, Serial#: 11260
    public void bts(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0313((byte) 0xAB, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code bts       rbx[rsi * 4 + 305419896], rax}
     */
    // Template#: 1007, Serial#: 11269
    public void bts(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0314((byte) 0xAB, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code bts       [L1: +305419896], ax}
     */
    // Template#: 1008, Serial#: 11274
    public void rip_bts(int rel32, AMD64GeneralRegister16 source) {
        assemble0315((byte) 0xAB, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code bts       [L1: +305419896], eax}
     */
    // Template#: 1009, Serial#: 11256
    public void rip_bts(int rel32, AMD64GeneralRegister32 source) {
        assemble0316((byte) 0xAB, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code bts       [L1: +305419896], rax}
     */
    // Template#: 1010, Serial#: 11265
    public void rip_bts(int rel32, AMD64GeneralRegister64 source) {
        assemble0317((byte) 0xAB, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bts       0x12345678[rsi * 4], 0x12}
     */
    // Template#: 1011, Serial#: 11496
    public void m_bts(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0318((byte) 0xBA, (byte) 0x05, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bts       0x12345678[rsi * 4], 0x12}
     */
    // Template#: 1012, Serial#: 11532
    public void m_bts_r11532(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0319((byte) 0xBA, (byte) 0x05, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bts       0x12345678[rsi * 4], 0x12}
     */
    // Template#: 1013, Serial#: 11568
    public void m_bts_r11568(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0320((byte) 0xBA, (byte) 0x05, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code bts       0x12345678[rsi * 4], ax}
     */
    // Template#: 1014, Serial#: 11273
    public void m_bts(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0321((byte) 0xAB, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code bts       0x12345678[rsi * 4], eax}
     */
    // Template#: 1015, Serial#: 11255
    public void m_bts(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0322((byte) 0xAB, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code bts       0x12345678[rsi * 4], rax}
     */
    // Template#: 1016, Serial#: 11264
    public void m_bts(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0323((byte) 0xAB, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bts       [rbx + 305419896], 0x12}
     */
    // Template#: 1017, Serial#: 11516
    public void bts(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0324((byte) 0xBA, (byte) 0x05, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bts       [rbx + 305419896], 0x12}
     */
    // Template#: 1018, Serial#: 11552
    public void bts_r11552(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0325((byte) 0xBA, (byte) 0x05, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code bts       [rbx + 305419896], 0x12}
     */
    // Template#: 1019, Serial#: 11588
    public void bts_r11588(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0326((byte) 0xBA, (byte) 0x05, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bts       [rbx + 305419896], ax}
     */
    // Template#: 1020, Serial#: 11277
    public void bts(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0327((byte) 0xAB, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bts       [rbx + 305419896], eax}
     */
    // Template#: 1021, Serial#: 11259
    public void bts(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0328((byte) 0xAB, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code bts  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code bts       [rbx + 305419896], rax}
     */
    // Template#: 1022, Serial#: 11268
    public void bts(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0329((byte) 0xAB, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code call  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code call      rbx[rsi * 4 + 18]}
     */
    // Template#: 1023, Serial#: 5442
    public void call(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xFF, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code call  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code call      rbx[rsi * 4 + 18]}
     */
    // Template#: 1024, Serial#: 5469
    public void call_r5469(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xFF, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code call  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code call      [rbx + 18]}
     */
    // Template#: 1025, Serial#: 5441
    public void call(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xFF, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code call  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code call      [rbx + 18]}
     */
    // Template#: 1026, Serial#: 5468
    public void call_r5468(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xFF, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code call  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code call      rbx[rsi * 4]}
     */
    // Template#: 1027, Serial#: 5430
    public void call(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xFF, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code call  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code call      rbx[rsi * 4]}
     */
    // Template#: 1028, Serial#: 5457
    public void call_r5457(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xFF, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code call  }<i>destination</i>
     * Example disassembly syntax: {@code call      ax}
     */
    // Template#: 1029, Serial#: 5480
    public void call(AMD64GeneralRegister16 destination) {
        assemble0336((byte) 0xFF, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code call  }<i>destination</i>
     * Example disassembly syntax: {@code call      rax}
     */
    // Template#: 1030, Serial#: 5453
    public void call(AMD64GeneralRegister64 destination) {
        assemble0337((byte) 0xFF, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code call  }<i>destination</i>
     * Example disassembly syntax: {@code call      [rbx]}
     */
    // Template#: 1031, Serial#: 5429
    public void call(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xFF, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code call  }<i>destination</i>
     * Example disassembly syntax: {@code call      [rbx]}
     */
    // Template#: 1032, Serial#: 5456
    public void call_r5456(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xFF, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code call  }<i>rel32</i>
     * Example disassembly syntax: {@code call      L1: +305419896}
     */
    // Template#: 1033, Serial#: 5288
    public void call(int rel32) {
        assemble0340((byte) 0xE8, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code call  }<i>rel32</i>
     * Example disassembly syntax: {@code call      [L1: +305419896]}
     */
    // Template#: 1034, Serial#: 5432
    public void rip_call(int rel32) {
        assemble0341((byte) 0xFF, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code call  }<i>rel32</i>
     * Example disassembly syntax: {@code call      [L1: +305419896]}
     */
    // Template#: 1035, Serial#: 5459
    public void rip_call_r5459(int rel32) {
        assemble0342((byte) 0xFF, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code call  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code call      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1036, Serial#: 5448
    public void call(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xFF, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code call  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code call      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1037, Serial#: 5475
    public void call_r5475(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xFF, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code call  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code call      0x12345678[rsi * 4]}
     */
    // Template#: 1038, Serial#: 5431
    public void m_call(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xFF, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code call  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code call      0x12345678[rsi * 4]}
     */
    // Template#: 1039, Serial#: 5458
    public void m_call_r5458(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xFF, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code call  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code call      [rbx + 305419896]}
     */
    // Template#: 1040, Serial#: 5447
    public void call(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xFF, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code call  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code call      [rbx + 305419896]}
     */
    // Template#: 1041, Serial#: 5474
    public void call_r5474(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xFF, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code cdq  }
     * Example disassembly syntax: {@code cdq     }
     */
    // Template#: 1042, Serial#: 3859
    public void cdq() {
        assemble0208((byte) 0x99);
    }

    /**
     * Pseudo-external assembler syntax: {@code cdqe  }
     * Example disassembly syntax: {@code cdqe    }
     */
    // Template#: 1043, Serial#: 3858
    public void cdqe() {
        assemble0209((byte) 0x98);
    }

    /**
     * Pseudo-external assembler syntax: {@code clc  }
     * Example disassembly syntax: {@code clc     }
     */
    // Template#: 1044, Serial#: 5303
    public void clc() {
        assemble0208((byte) 0xF8);
    }

    /**
     * Pseudo-external assembler syntax: {@code clc  }
     * Example disassembly syntax: {@code clc     }
     */
    // Template#: 1045, Serial#: 5304
    public void clc_r5304() {
        assemble0209((byte) 0xF8);
    }

    /**
     * Pseudo-external assembler syntax: {@code clc  }
     * Example disassembly syntax: {@code clc     }
     */
    // Template#: 1046, Serial#: 5305
    public void clc_r5305() {
        assemble0210((byte) 0xF8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cld  }
     * Example disassembly syntax: {@code cld     }
     */
    // Template#: 1047, Serial#: 5315
    public void cld() {
        assemble0208((byte) 0xFC);
    }

    /**
     * Pseudo-external assembler syntax: {@code cld  }
     * Example disassembly syntax: {@code cld     }
     */
    // Template#: 1048, Serial#: 5316
    public void cld_r5316() {
        assemble0209((byte) 0xFC);
    }

    /**
     * Pseudo-external assembler syntax: {@code cld  }
     * Example disassembly syntax: {@code cld     }
     */
    // Template#: 1049, Serial#: 5317
    public void cld_r5317() {
        assemble0210((byte) 0xFC);
    }

    /**
     * Pseudo-external assembler syntax: {@code clflush  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code clflush   rbx[rsi * 4 + 18]}
     */
    // Template#: 1050, Serial#: 11363
    public void clflush(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0349((byte) 0xAE, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code clflush  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code clflush   rbx[rsi * 4 + 18]}
     */
    // Template#: 1051, Serial#: 11403
    public void clflush_r11403(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0350((byte) 0xAE, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code clflush  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code clflush   rbx[rsi * 4 + 18]}
     */
    // Template#: 1052, Serial#: 11443
    public void clflush_r11443(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0351((byte) 0xAE, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code clflush  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code clflush   [rbx + 18]}
     */
    // Template#: 1053, Serial#: 11362
    public void clflush(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0352((byte) 0xAE, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code clflush  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code clflush   [rbx + 18]}
     */
    // Template#: 1054, Serial#: 11402
    public void clflush_r11402(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0353((byte) 0xAE, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code clflush  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code clflush   [rbx + 18]}
     */
    // Template#: 1055, Serial#: 11442
    public void clflush_r11442(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0354((byte) 0xAE, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code clflush  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code clflush   rbx[rsi * 4]}
     */
    // Template#: 1056, Serial#: 11351
    public void clflush(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0355((byte) 0xAE, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code clflush  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code clflush   rbx[rsi * 4]}
     */
    // Template#: 1057, Serial#: 11391
    public void clflush_r11391(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0356((byte) 0xAE, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code clflush  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code clflush   rbx[rsi * 4]}
     */
    // Template#: 1058, Serial#: 11431
    public void clflush_r11431(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0357((byte) 0xAE, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code clflush  }<i>destination</i>
     * Example disassembly syntax: {@code clflush   [rbx]}
     */
    // Template#: 1059, Serial#: 11350
    public void clflush(AMD64IndirectRegister64 destination) {
        assemble0358((byte) 0xAE, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code clflush  }<i>destination</i>
     * Example disassembly syntax: {@code clflush   [rbx]}
     */
    // Template#: 1060, Serial#: 11390
    public void clflush_r11390(AMD64IndirectRegister64 destination) {
        assemble0359((byte) 0xAE, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code clflush  }<i>destination</i>
     * Example disassembly syntax: {@code clflush   [rbx]}
     */
    // Template#: 1061, Serial#: 11430
    public void clflush_r11430(AMD64IndirectRegister64 destination) {
        assemble0360((byte) 0xAE, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code clflush  }<i>rel32</i>
     * Example disassembly syntax: {@code clflush   [L1: +305419896]}
     */
    // Template#: 1062, Serial#: 11353
    public void rip_clflush(int rel32) {
        assemble0361((byte) 0xAE, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code clflush  }<i>rel32</i>
     * Example disassembly syntax: {@code clflush   [L1: +305419896]}
     */
    // Template#: 1063, Serial#: 11393
    public void rip_clflush_r11393(int rel32) {
        assemble0362((byte) 0xAE, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code clflush  }<i>rel32</i>
     * Example disassembly syntax: {@code clflush   [L1: +305419896]}
     */
    // Template#: 1064, Serial#: 11433
    public void rip_clflush_r11433(int rel32) {
        assemble0363((byte) 0xAE, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code clflush  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code clflush   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1065, Serial#: 11373
    public void clflush(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0364((byte) 0xAE, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code clflush  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code clflush   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1066, Serial#: 11413
    public void clflush_r11413(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0365((byte) 0xAE, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code clflush  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code clflush   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1067, Serial#: 11453
    public void clflush_r11453(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0366((byte) 0xAE, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code clflush  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code clflush   0x12345678[rsi * 4]}
     */
    // Template#: 1068, Serial#: 11352
    public void m_clflush(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0367((byte) 0xAE, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code clflush  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code clflush   0x12345678[rsi * 4]}
     */
    // Template#: 1069, Serial#: 11392
    public void m_clflush_r11392(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0368((byte) 0xAE, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code clflush  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code clflush   0x12345678[rsi * 4]}
     */
    // Template#: 1070, Serial#: 11432
    public void m_clflush_r11432(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0369((byte) 0xAE, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code clflush  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code clflush   [rbx + 305419896]}
     */
    // Template#: 1071, Serial#: 11372
    public void clflush(int disp32, AMD64IndirectRegister64 destination) {
        assemble0370((byte) 0xAE, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code clflush  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code clflush   [rbx + 305419896]}
     */
    // Template#: 1072, Serial#: 11412
    public void clflush_r11412(int disp32, AMD64IndirectRegister64 destination) {
        assemble0371((byte) 0xAE, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code clflush  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code clflush   [rbx + 305419896]}
     */
    // Template#: 1073, Serial#: 11452
    public void clflush_r11452(int disp32, AMD64IndirectRegister64 destination) {
        assemble0372((byte) 0xAE, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code cli  }
     * Example disassembly syntax: {@code cli     }
     */
    // Template#: 1074, Serial#: 5309
    public void cli() {
        assemble0208((byte) 0xFA);
    }

    /**
     * Pseudo-external assembler syntax: {@code cli  }
     * Example disassembly syntax: {@code cli     }
     */
    // Template#: 1075, Serial#: 5310
    public void cli_r5310() {
        assemble0209((byte) 0xFA);
    }

    /**
     * Pseudo-external assembler syntax: {@code cli  }
     * Example disassembly syntax: {@code cli     }
     */
    // Template#: 1076, Serial#: 5311
    public void cli_r5311() {
        assemble0210((byte) 0xFA);
    }

    /**
     * Pseudo-external assembler syntax: {@code clts  }
     * Example disassembly syntax: {@code clts    }
     */
    // Template#: 1077, Serial#: 5879
    public void clts() {
        assemble0373((byte) 0x06);
    }

    /**
     * Pseudo-external assembler syntax: {@code clts  }
     * Example disassembly syntax: {@code clts    }
     */
    // Template#: 1078, Serial#: 5880
    public void clts_r5880() {
        assemble0374((byte) 0x06);
    }

    /**
     * Pseudo-external assembler syntax: {@code clts  }
     * Example disassembly syntax: {@code clts    }
     */
    // Template#: 1079, Serial#: 5881
    public void clts_r5881() {
        assemble0375((byte) 0x06);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmc  }
     * Example disassembly syntax: {@code cmc     }
     */
    // Template#: 1080, Serial#: 2678
    public void cmc() {
        assemble0208((byte) 0xF5);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmc  }
     * Example disassembly syntax: {@code cmc     }
     */
    // Template#: 1081, Serial#: 2679
    public void cmc_r2679() {
        assemble0209((byte) 0xF5);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmc  }
     * Example disassembly syntax: {@code cmc     }
     */
    // Template#: 1082, Serial#: 2680
    public void cmc_r2680() {
        assemble0210((byte) 0xF5);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmova  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmova     ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1083, Serial#: 6577
    public void cmova(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0247((byte) 0x47, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmova  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmova     ax, [rbx + 18]}
     */
    // Template#: 1084, Serial#: 6576
    public void cmova(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0248((byte) 0x47, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmova  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmova     ax, rbx[rsi * 4]}
     */
    // Template#: 1085, Serial#: 6573
    public void cmova(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0249((byte) 0x47, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmova  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmova     ax, ax}
     */
    // Template#: 1086, Serial#: 6580
    public void cmova(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0250((byte) 0x47, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmova  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmova     ax, [rbx]}
     */
    // Template#: 1087, Serial#: 6572
    public void cmova(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0251((byte) 0x47, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmova  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmova     ax, [L1: +305419896]}
     */
    // Template#: 1088, Serial#: 6575
    public void rip_cmova(AMD64GeneralRegister16 destination, int rel32) {
        assemble0252((byte) 0x47, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmova  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmova     ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1089, Serial#: 6579
    public void cmova(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0253((byte) 0x47, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmova  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmova     ax, 0x12345678[rsi * 4]}
     */
    // Template#: 1090, Serial#: 6574
    public void m_cmova(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0254((byte) 0x47, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmova  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmova     ax, [rbx + 305419896]}
     */
    // Template#: 1091, Serial#: 6578
    public void cmova(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0255((byte) 0x47, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmova  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmova     eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1092, Serial#: 6559
    public void cmova(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0256((byte) 0x47, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmova  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmova     eax, [rbx + 18]}
     */
    // Template#: 1093, Serial#: 6558
    public void cmova(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0257((byte) 0x47, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmova  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmova     eax, rbx[rsi * 4]}
     */
    // Template#: 1094, Serial#: 6555
    public void cmova(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0258((byte) 0x47, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmova  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmova     eax, eax}
     */
    // Template#: 1095, Serial#: 6562
    public void cmova(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0259((byte) 0x47, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmova  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmova     eax, [rbx]}
     */
    // Template#: 1096, Serial#: 6554
    public void cmova(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0260((byte) 0x47, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmova  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmova     eax, [L1: +305419896]}
     */
    // Template#: 1097, Serial#: 6557
    public void rip_cmova(AMD64GeneralRegister32 destination, int rel32) {
        assemble0261((byte) 0x47, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmova  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmova     eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1098, Serial#: 6561
    public void cmova(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0262((byte) 0x47, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmova  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmova     eax, 0x12345678[rsi * 4]}
     */
    // Template#: 1099, Serial#: 6556
    public void m_cmova(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0263((byte) 0x47, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmova  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmova     eax, [rbx + 305419896]}
     */
    // Template#: 1100, Serial#: 6560
    public void cmova(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0264((byte) 0x47, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmova  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmova     rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1101, Serial#: 6568
    public void cmova(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0265((byte) 0x47, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmova  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmova     rax, [rbx + 18]}
     */
    // Template#: 1102, Serial#: 6567
    public void cmova(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0266((byte) 0x47, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmova  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmova     rax, rbx[rsi * 4]}
     */
    // Template#: 1103, Serial#: 6564
    public void cmova(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0267((byte) 0x47, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmova  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmova     rax, rax}
     */
    // Template#: 1104, Serial#: 6571
    public void cmova(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0268((byte) 0x47, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmova  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmova     rax, [rbx]}
     */
    // Template#: 1105, Serial#: 6563
    public void cmova(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0269((byte) 0x47, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmova  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmova     rax, [L1: +305419896]}
     */
    // Template#: 1106, Serial#: 6566
    public void rip_cmova(AMD64GeneralRegister64 destination, int rel32) {
        assemble0270((byte) 0x47, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmova  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmova     rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1107, Serial#: 6570
    public void cmova(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0271((byte) 0x47, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmova  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmova     rax, 0x12345678[rsi * 4]}
     */
    // Template#: 1108, Serial#: 6565
    public void m_cmova(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0272((byte) 0x47, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmova  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmova     rax, [rbx + 305419896]}
     */
    // Template#: 1109, Serial#: 6569
    public void cmova(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0273((byte) 0x47, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovae  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovae    ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1110, Serial#: 6469
    public void cmovae(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0247((byte) 0x43, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovae  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovae    ax, [rbx + 18]}
     */
    // Template#: 1111, Serial#: 6468
    public void cmovae(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0248((byte) 0x43, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovae  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovae    ax, rbx[rsi * 4]}
     */
    // Template#: 1112, Serial#: 6465
    public void cmovae(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0249((byte) 0x43, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovae  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovae    ax, ax}
     */
    // Template#: 1113, Serial#: 6472
    public void cmovae(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0250((byte) 0x43, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovae  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovae    ax, [rbx]}
     */
    // Template#: 1114, Serial#: 6464
    public void cmovae(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0251((byte) 0x43, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovae  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovae    ax, [L1: +305419896]}
     */
    // Template#: 1115, Serial#: 6467
    public void rip_cmovae(AMD64GeneralRegister16 destination, int rel32) {
        assemble0252((byte) 0x43, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovae  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovae    ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1116, Serial#: 6471
    public void cmovae(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0253((byte) 0x43, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovae  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovae    ax, 0x12345678[rsi * 4]}
     */
    // Template#: 1117, Serial#: 6466
    public void m_cmovae(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0254((byte) 0x43, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovae  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovae    ax, [rbx + 305419896]}
     */
    // Template#: 1118, Serial#: 6470
    public void cmovae(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0255((byte) 0x43, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovae  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovae    eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1119, Serial#: 6451
    public void cmovae(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0256((byte) 0x43, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovae  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovae    eax, [rbx + 18]}
     */
    // Template#: 1120, Serial#: 6450
    public void cmovae(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0257((byte) 0x43, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovae  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovae    eax, rbx[rsi * 4]}
     */
    // Template#: 1121, Serial#: 6447
    public void cmovae(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0258((byte) 0x43, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovae  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovae    eax, eax}
     */
    // Template#: 1122, Serial#: 6454
    public void cmovae(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0259((byte) 0x43, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovae  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovae    eax, [rbx]}
     */
    // Template#: 1123, Serial#: 6446
    public void cmovae(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0260((byte) 0x43, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovae  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovae    eax, [L1: +305419896]}
     */
    // Template#: 1124, Serial#: 6449
    public void rip_cmovae(AMD64GeneralRegister32 destination, int rel32) {
        assemble0261((byte) 0x43, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovae  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovae    eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1125, Serial#: 6453
    public void cmovae(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0262((byte) 0x43, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovae  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovae    eax, 0x12345678[rsi * 4]}
     */
    // Template#: 1126, Serial#: 6448
    public void m_cmovae(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0263((byte) 0x43, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovae  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovae    eax, [rbx + 305419896]}
     */
    // Template#: 1127, Serial#: 6452
    public void cmovae(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0264((byte) 0x43, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovae  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovae    rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1128, Serial#: 6460
    public void cmovae(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0265((byte) 0x43, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovae  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovae    rax, [rbx + 18]}
     */
    // Template#: 1129, Serial#: 6459
    public void cmovae(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0266((byte) 0x43, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovae  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovae    rax, rbx[rsi * 4]}
     */
    // Template#: 1130, Serial#: 6456
    public void cmovae(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0267((byte) 0x43, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovae  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovae    rax, rax}
     */
    // Template#: 1131, Serial#: 6463
    public void cmovae(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0268((byte) 0x43, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovae  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovae    rax, [rbx]}
     */
    // Template#: 1132, Serial#: 6455
    public void cmovae(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0269((byte) 0x43, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovae  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovae    rax, [L1: +305419896]}
     */
    // Template#: 1133, Serial#: 6458
    public void rip_cmovae(AMD64GeneralRegister64 destination, int rel32) {
        assemble0270((byte) 0x43, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovae  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovae    rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1134, Serial#: 6462
    public void cmovae(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0271((byte) 0x43, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovae  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovae    rax, 0x12345678[rsi * 4]}
     */
    // Template#: 1135, Serial#: 6457
    public void m_cmovae(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0272((byte) 0x43, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovae  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovae    rax, [rbx + 305419896]}
     */
    // Template#: 1136, Serial#: 6461
    public void cmovae(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0273((byte) 0x43, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovb     ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1137, Serial#: 6442
    public void cmovb(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0247((byte) 0x42, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovb     ax, [rbx + 18]}
     */
    // Template#: 1138, Serial#: 6441
    public void cmovb(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0248((byte) 0x42, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovb     ax, rbx[rsi * 4]}
     */
    // Template#: 1139, Serial#: 6438
    public void cmovb(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0249((byte) 0x42, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovb     ax, ax}
     */
    // Template#: 1140, Serial#: 6445
    public void cmovb(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0250((byte) 0x42, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovb     ax, [rbx]}
     */
    // Template#: 1141, Serial#: 6437
    public void cmovb(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0251((byte) 0x42, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovb     ax, [L1: +305419896]}
     */
    // Template#: 1142, Serial#: 6440
    public void rip_cmovb(AMD64GeneralRegister16 destination, int rel32) {
        assemble0252((byte) 0x42, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovb     ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1143, Serial#: 6444
    public void cmovb(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0253((byte) 0x42, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovb     ax, 0x12345678[rsi * 4]}
     */
    // Template#: 1144, Serial#: 6439
    public void m_cmovb(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0254((byte) 0x42, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovb     ax, [rbx + 305419896]}
     */
    // Template#: 1145, Serial#: 6443
    public void cmovb(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0255((byte) 0x42, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovb     eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1146, Serial#: 6424
    public void cmovb(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0256((byte) 0x42, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovb     eax, [rbx + 18]}
     */
    // Template#: 1147, Serial#: 6423
    public void cmovb(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0257((byte) 0x42, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovb     eax, rbx[rsi * 4]}
     */
    // Template#: 1148, Serial#: 6420
    public void cmovb(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0258((byte) 0x42, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovb     eax, eax}
     */
    // Template#: 1149, Serial#: 6427
    public void cmovb(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0259((byte) 0x42, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovb     eax, [rbx]}
     */
    // Template#: 1150, Serial#: 6419
    public void cmovb(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0260((byte) 0x42, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovb     eax, [L1: +305419896]}
     */
    // Template#: 1151, Serial#: 6422
    public void rip_cmovb(AMD64GeneralRegister32 destination, int rel32) {
        assemble0261((byte) 0x42, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovb     eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1152, Serial#: 6426
    public void cmovb(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0262((byte) 0x42, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovb     eax, 0x12345678[rsi * 4]}
     */
    // Template#: 1153, Serial#: 6421
    public void m_cmovb(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0263((byte) 0x42, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovb     eax, [rbx + 305419896]}
     */
    // Template#: 1154, Serial#: 6425
    public void cmovb(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0264((byte) 0x42, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovb     rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1155, Serial#: 6433
    public void cmovb(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0265((byte) 0x42, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovb     rax, [rbx + 18]}
     */
    // Template#: 1156, Serial#: 6432
    public void cmovb(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0266((byte) 0x42, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovb     rax, rbx[rsi * 4]}
     */
    // Template#: 1157, Serial#: 6429
    public void cmovb(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0267((byte) 0x42, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovb     rax, rax}
     */
    // Template#: 1158, Serial#: 6436
    public void cmovb(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0268((byte) 0x42, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovb     rax, [rbx]}
     */
    // Template#: 1159, Serial#: 6428
    public void cmovb(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0269((byte) 0x42, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovb     rax, [L1: +305419896]}
     */
    // Template#: 1160, Serial#: 6431
    public void rip_cmovb(AMD64GeneralRegister64 destination, int rel32) {
        assemble0270((byte) 0x42, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovb     rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1161, Serial#: 6435
    public void cmovb(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0271((byte) 0x42, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovb     rax, 0x12345678[rsi * 4]}
     */
    // Template#: 1162, Serial#: 6430
    public void m_cmovb(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0272((byte) 0x42, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovb     rax, [rbx + 305419896]}
     */
    // Template#: 1163, Serial#: 6434
    public void cmovb(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0273((byte) 0x42, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovbe  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovbe    ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1164, Serial#: 6550
    public void cmovbe(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0247((byte) 0x46, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovbe  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovbe    ax, [rbx + 18]}
     */
    // Template#: 1165, Serial#: 6549
    public void cmovbe(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0248((byte) 0x46, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovbe  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovbe    ax, rbx[rsi * 4]}
     */
    // Template#: 1166, Serial#: 6546
    public void cmovbe(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0249((byte) 0x46, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovbe  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovbe    ax, ax}
     */
    // Template#: 1167, Serial#: 6553
    public void cmovbe(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0250((byte) 0x46, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovbe  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovbe    ax, [rbx]}
     */
    // Template#: 1168, Serial#: 6545
    public void cmovbe(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0251((byte) 0x46, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovbe  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovbe    ax, [L1: +305419896]}
     */
    // Template#: 1169, Serial#: 6548
    public void rip_cmovbe(AMD64GeneralRegister16 destination, int rel32) {
        assemble0252((byte) 0x46, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovbe  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovbe    ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1170, Serial#: 6552
    public void cmovbe(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0253((byte) 0x46, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovbe  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovbe    ax, 0x12345678[rsi * 4]}
     */
    // Template#: 1171, Serial#: 6547
    public void m_cmovbe(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0254((byte) 0x46, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovbe  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovbe    ax, [rbx + 305419896]}
     */
    // Template#: 1172, Serial#: 6551
    public void cmovbe(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0255((byte) 0x46, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovbe  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovbe    eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1173, Serial#: 6532
    public void cmovbe(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0256((byte) 0x46, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovbe  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovbe    eax, [rbx + 18]}
     */
    // Template#: 1174, Serial#: 6531
    public void cmovbe(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0257((byte) 0x46, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovbe  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovbe    eax, rbx[rsi * 4]}
     */
    // Template#: 1175, Serial#: 6528
    public void cmovbe(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0258((byte) 0x46, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovbe  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovbe    eax, eax}
     */
    // Template#: 1176, Serial#: 6535
    public void cmovbe(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0259((byte) 0x46, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovbe  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovbe    eax, [rbx]}
     */
    // Template#: 1177, Serial#: 6527
    public void cmovbe(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0260((byte) 0x46, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovbe  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovbe    eax, [L1: +305419896]}
     */
    // Template#: 1178, Serial#: 6530
    public void rip_cmovbe(AMD64GeneralRegister32 destination, int rel32) {
        assemble0261((byte) 0x46, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovbe  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovbe    eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1179, Serial#: 6534
    public void cmovbe(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0262((byte) 0x46, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovbe  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovbe    eax, 0x12345678[rsi * 4]}
     */
    // Template#: 1180, Serial#: 6529
    public void m_cmovbe(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0263((byte) 0x46, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovbe  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovbe    eax, [rbx + 305419896]}
     */
    // Template#: 1181, Serial#: 6533
    public void cmovbe(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0264((byte) 0x46, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovbe  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovbe    rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1182, Serial#: 6541
    public void cmovbe(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0265((byte) 0x46, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovbe  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovbe    rax, [rbx + 18]}
     */
    // Template#: 1183, Serial#: 6540
    public void cmovbe(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0266((byte) 0x46, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovbe  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovbe    rax, rbx[rsi * 4]}
     */
    // Template#: 1184, Serial#: 6537
    public void cmovbe(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0267((byte) 0x46, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovbe  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovbe    rax, rax}
     */
    // Template#: 1185, Serial#: 6544
    public void cmovbe(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0268((byte) 0x46, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovbe  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovbe    rax, [rbx]}
     */
    // Template#: 1186, Serial#: 6536
    public void cmovbe(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0269((byte) 0x46, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovbe  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovbe    rax, [L1: +305419896]}
     */
    // Template#: 1187, Serial#: 6539
    public void rip_cmovbe(AMD64GeneralRegister64 destination, int rel32) {
        assemble0270((byte) 0x46, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovbe  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovbe    rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1188, Serial#: 6543
    public void cmovbe(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0271((byte) 0x46, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovbe  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovbe    rax, 0x12345678[rsi * 4]}
     */
    // Template#: 1189, Serial#: 6538
    public void m_cmovbe(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0272((byte) 0x46, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovbe  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovbe    rax, [rbx + 305419896]}
     */
    // Template#: 1190, Serial#: 6542
    public void cmovbe(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0273((byte) 0x46, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmove  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmove     ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1191, Serial#: 6496
    public void cmove(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0247((byte) 0x44, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmove  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmove     ax, [rbx + 18]}
     */
    // Template#: 1192, Serial#: 6495
    public void cmove(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0248((byte) 0x44, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmove  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmove     ax, rbx[rsi * 4]}
     */
    // Template#: 1193, Serial#: 6492
    public void cmove(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0249((byte) 0x44, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmove  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmove     ax, ax}
     */
    // Template#: 1194, Serial#: 6499
    public void cmove(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0250((byte) 0x44, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmove  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmove     ax, [rbx]}
     */
    // Template#: 1195, Serial#: 6491
    public void cmove(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0251((byte) 0x44, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmove  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmove     ax, [L1: +305419896]}
     */
    // Template#: 1196, Serial#: 6494
    public void rip_cmove(AMD64GeneralRegister16 destination, int rel32) {
        assemble0252((byte) 0x44, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmove  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmove     ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1197, Serial#: 6498
    public void cmove(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0253((byte) 0x44, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmove  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmove     ax, 0x12345678[rsi * 4]}
     */
    // Template#: 1198, Serial#: 6493
    public void m_cmove(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0254((byte) 0x44, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmove  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmove     ax, [rbx + 305419896]}
     */
    // Template#: 1199, Serial#: 6497
    public void cmove(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0255((byte) 0x44, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmove  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmove     eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1200, Serial#: 6478
    public void cmove(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0256((byte) 0x44, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmove  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmove     eax, [rbx + 18]}
     */
    // Template#: 1201, Serial#: 6477
    public void cmove(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0257((byte) 0x44, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmove  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmove     eax, rbx[rsi * 4]}
     */
    // Template#: 1202, Serial#: 6474
    public void cmove(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0258((byte) 0x44, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmove  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmove     eax, eax}
     */
    // Template#: 1203, Serial#: 6481
    public void cmove(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0259((byte) 0x44, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmove  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmove     eax, [rbx]}
     */
    // Template#: 1204, Serial#: 6473
    public void cmove(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0260((byte) 0x44, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmove  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmove     eax, [L1: +305419896]}
     */
    // Template#: 1205, Serial#: 6476
    public void rip_cmove(AMD64GeneralRegister32 destination, int rel32) {
        assemble0261((byte) 0x44, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmove  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmove     eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1206, Serial#: 6480
    public void cmove(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0262((byte) 0x44, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmove  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmove     eax, 0x12345678[rsi * 4]}
     */
    // Template#: 1207, Serial#: 6475
    public void m_cmove(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0263((byte) 0x44, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmove  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmove     eax, [rbx + 305419896]}
     */
    // Template#: 1208, Serial#: 6479
    public void cmove(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0264((byte) 0x44, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmove  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmove     rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1209, Serial#: 6487
    public void cmove(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0265((byte) 0x44, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmove  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmove     rax, [rbx + 18]}
     */
    // Template#: 1210, Serial#: 6486
    public void cmove(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0266((byte) 0x44, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmove  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmove     rax, rbx[rsi * 4]}
     */
    // Template#: 1211, Serial#: 6483
    public void cmove(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0267((byte) 0x44, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmove  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmove     rax, rax}
     */
    // Template#: 1212, Serial#: 6490
    public void cmove(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0268((byte) 0x44, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmove  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmove     rax, [rbx]}
     */
    // Template#: 1213, Serial#: 6482
    public void cmove(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0269((byte) 0x44, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmove  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmove     rax, [L1: +305419896]}
     */
    // Template#: 1214, Serial#: 6485
    public void rip_cmove(AMD64GeneralRegister64 destination, int rel32) {
        assemble0270((byte) 0x44, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmove  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmove     rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1215, Serial#: 6489
    public void cmove(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0271((byte) 0x44, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmove  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmove     rax, 0x12345678[rsi * 4]}
     */
    // Template#: 1216, Serial#: 6484
    public void m_cmove(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0272((byte) 0x44, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmove  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmove     rax, [rbx + 305419896]}
     */
    // Template#: 1217, Serial#: 6488
    public void cmove(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0273((byte) 0x44, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovg  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovg     ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1218, Serial#: 9956
    public void cmovg(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0247((byte) 0x4F, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovg  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovg     ax, [rbx + 18]}
     */
    // Template#: 1219, Serial#: 9955
    public void cmovg(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0248((byte) 0x4F, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovg  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovg     ax, rbx[rsi * 4]}
     */
    // Template#: 1220, Serial#: 9952
    public void cmovg(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0249((byte) 0x4F, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovg     ax, ax}
     */
    // Template#: 1221, Serial#: 9959
    public void cmovg(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0250((byte) 0x4F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovg     ax, [rbx]}
     */
    // Template#: 1222, Serial#: 9951
    public void cmovg(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0251((byte) 0x4F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovg  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovg     ax, [L1: +305419896]}
     */
    // Template#: 1223, Serial#: 9954
    public void rip_cmovg(AMD64GeneralRegister16 destination, int rel32) {
        assemble0252((byte) 0x4F, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovg  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovg     ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1224, Serial#: 9958
    public void cmovg(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0253((byte) 0x4F, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovg  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovg     ax, 0x12345678[rsi * 4]}
     */
    // Template#: 1225, Serial#: 9953
    public void m_cmovg(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0254((byte) 0x4F, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovg  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovg     ax, [rbx + 305419896]}
     */
    // Template#: 1226, Serial#: 9957
    public void cmovg(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0255((byte) 0x4F, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovg  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovg     eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1227, Serial#: 9938
    public void cmovg(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0256((byte) 0x4F, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovg  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovg     eax, [rbx + 18]}
     */
    // Template#: 1228, Serial#: 9937
    public void cmovg(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0257((byte) 0x4F, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovg  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovg     eax, rbx[rsi * 4]}
     */
    // Template#: 1229, Serial#: 9934
    public void cmovg(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0258((byte) 0x4F, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovg     eax, eax}
     */
    // Template#: 1230, Serial#: 9941
    public void cmovg(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0259((byte) 0x4F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovg     eax, [rbx]}
     */
    // Template#: 1231, Serial#: 9933
    public void cmovg(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0260((byte) 0x4F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovg  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovg     eax, [L1: +305419896]}
     */
    // Template#: 1232, Serial#: 9936
    public void rip_cmovg(AMD64GeneralRegister32 destination, int rel32) {
        assemble0261((byte) 0x4F, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovg  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovg     eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1233, Serial#: 9940
    public void cmovg(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0262((byte) 0x4F, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovg  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovg     eax, 0x12345678[rsi * 4]}
     */
    // Template#: 1234, Serial#: 9935
    public void m_cmovg(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0263((byte) 0x4F, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovg  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovg     eax, [rbx + 305419896]}
     */
    // Template#: 1235, Serial#: 9939
    public void cmovg(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0264((byte) 0x4F, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovg  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovg     rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1236, Serial#: 9947
    public void cmovg(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0265((byte) 0x4F, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovg  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovg     rax, [rbx + 18]}
     */
    // Template#: 1237, Serial#: 9946
    public void cmovg(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0266((byte) 0x4F, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovg  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovg     rax, rbx[rsi * 4]}
     */
    // Template#: 1238, Serial#: 9943
    public void cmovg(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0267((byte) 0x4F, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovg     rax, rax}
     */
    // Template#: 1239, Serial#: 9950
    public void cmovg(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0268((byte) 0x4F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovg     rax, [rbx]}
     */
    // Template#: 1240, Serial#: 9942
    public void cmovg(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0269((byte) 0x4F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovg  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovg     rax, [L1: +305419896]}
     */
    // Template#: 1241, Serial#: 9945
    public void rip_cmovg(AMD64GeneralRegister64 destination, int rel32) {
        assemble0270((byte) 0x4F, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovg  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovg     rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1242, Serial#: 9949
    public void cmovg(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0271((byte) 0x4F, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovg  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovg     rax, 0x12345678[rsi * 4]}
     */
    // Template#: 1243, Serial#: 9944
    public void m_cmovg(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0272((byte) 0x4F, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovg  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovg     rax, [rbx + 305419896]}
     */
    // Template#: 1244, Serial#: 9948
    public void cmovg(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0273((byte) 0x4F, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovge  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovge    ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1245, Serial#: 9902
    public void cmovge(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0247((byte) 0x4D, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovge  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovge    ax, [rbx + 18]}
     */
    // Template#: 1246, Serial#: 9901
    public void cmovge(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0248((byte) 0x4D, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovge  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovge    ax, rbx[rsi * 4]}
     */
    // Template#: 1247, Serial#: 9898
    public void cmovge(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0249((byte) 0x4D, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovge  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovge    ax, ax}
     */
    // Template#: 1248, Serial#: 9905
    public void cmovge(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0250((byte) 0x4D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovge  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovge    ax, [rbx]}
     */
    // Template#: 1249, Serial#: 9897
    public void cmovge(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0251((byte) 0x4D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovge  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovge    ax, [L1: +305419896]}
     */
    // Template#: 1250, Serial#: 9900
    public void rip_cmovge(AMD64GeneralRegister16 destination, int rel32) {
        assemble0252((byte) 0x4D, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovge  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovge    ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1251, Serial#: 9904
    public void cmovge(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0253((byte) 0x4D, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovge  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovge    ax, 0x12345678[rsi * 4]}
     */
    // Template#: 1252, Serial#: 9899
    public void m_cmovge(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0254((byte) 0x4D, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovge  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovge    ax, [rbx + 305419896]}
     */
    // Template#: 1253, Serial#: 9903
    public void cmovge(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0255((byte) 0x4D, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovge  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovge    eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1254, Serial#: 9884
    public void cmovge(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0256((byte) 0x4D, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovge  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovge    eax, [rbx + 18]}
     */
    // Template#: 1255, Serial#: 9883
    public void cmovge(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0257((byte) 0x4D, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovge  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovge    eax, rbx[rsi * 4]}
     */
    // Template#: 1256, Serial#: 9880
    public void cmovge(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0258((byte) 0x4D, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovge  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovge    eax, eax}
     */
    // Template#: 1257, Serial#: 9887
    public void cmovge(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0259((byte) 0x4D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovge  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovge    eax, [rbx]}
     */
    // Template#: 1258, Serial#: 9879
    public void cmovge(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0260((byte) 0x4D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovge  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovge    eax, [L1: +305419896]}
     */
    // Template#: 1259, Serial#: 9882
    public void rip_cmovge(AMD64GeneralRegister32 destination, int rel32) {
        assemble0261((byte) 0x4D, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovge  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovge    eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1260, Serial#: 9886
    public void cmovge(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0262((byte) 0x4D, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovge  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovge    eax, 0x12345678[rsi * 4]}
     */
    // Template#: 1261, Serial#: 9881
    public void m_cmovge(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0263((byte) 0x4D, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovge  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovge    eax, [rbx + 305419896]}
     */
    // Template#: 1262, Serial#: 9885
    public void cmovge(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0264((byte) 0x4D, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovge  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovge    rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1263, Serial#: 9893
    public void cmovge(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0265((byte) 0x4D, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovge  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovge    rax, [rbx + 18]}
     */
    // Template#: 1264, Serial#: 9892
    public void cmovge(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0266((byte) 0x4D, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovge  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovge    rax, rbx[rsi * 4]}
     */
    // Template#: 1265, Serial#: 9889
    public void cmovge(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0267((byte) 0x4D, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovge  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovge    rax, rax}
     */
    // Template#: 1266, Serial#: 9896
    public void cmovge(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0268((byte) 0x4D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovge  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovge    rax, [rbx]}
     */
    // Template#: 1267, Serial#: 9888
    public void cmovge(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0269((byte) 0x4D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovge  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovge    rax, [L1: +305419896]}
     */
    // Template#: 1268, Serial#: 9891
    public void rip_cmovge(AMD64GeneralRegister64 destination, int rel32) {
        assemble0270((byte) 0x4D, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovge  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovge    rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1269, Serial#: 9895
    public void cmovge(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0271((byte) 0x4D, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovge  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovge    rax, 0x12345678[rsi * 4]}
     */
    // Template#: 1270, Serial#: 9890
    public void m_cmovge(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0272((byte) 0x4D, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovge  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovge    rax, [rbx + 305419896]}
     */
    // Template#: 1271, Serial#: 9894
    public void cmovge(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0273((byte) 0x4D, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovl  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovl     ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1272, Serial#: 9875
    public void cmovl(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0247((byte) 0x4C, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovl  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovl     ax, [rbx + 18]}
     */
    // Template#: 1273, Serial#: 9874
    public void cmovl(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0248((byte) 0x4C, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovl  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovl     ax, rbx[rsi * 4]}
     */
    // Template#: 1274, Serial#: 9871
    public void cmovl(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0249((byte) 0x4C, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovl  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovl     ax, ax}
     */
    // Template#: 1275, Serial#: 9878
    public void cmovl(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0250((byte) 0x4C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovl  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovl     ax, [rbx]}
     */
    // Template#: 1276, Serial#: 9870
    public void cmovl(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0251((byte) 0x4C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovl  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovl     ax, [L1: +305419896]}
     */
    // Template#: 1277, Serial#: 9873
    public void rip_cmovl(AMD64GeneralRegister16 destination, int rel32) {
        assemble0252((byte) 0x4C, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovl  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovl     ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1278, Serial#: 9877
    public void cmovl(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0253((byte) 0x4C, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovl  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovl     ax, 0x12345678[rsi * 4]}
     */
    // Template#: 1279, Serial#: 9872
    public void m_cmovl(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0254((byte) 0x4C, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovl  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovl     ax, [rbx + 305419896]}
     */
    // Template#: 1280, Serial#: 9876
    public void cmovl(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0255((byte) 0x4C, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovl  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovl     eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1281, Serial#: 9857
    public void cmovl(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0256((byte) 0x4C, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovl  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovl     eax, [rbx + 18]}
     */
    // Template#: 1282, Serial#: 9856
    public void cmovl(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0257((byte) 0x4C, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovl  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovl     eax, rbx[rsi * 4]}
     */
    // Template#: 1283, Serial#: 9853
    public void cmovl(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0258((byte) 0x4C, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovl  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovl     eax, eax}
     */
    // Template#: 1284, Serial#: 9860
    public void cmovl(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0259((byte) 0x4C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovl  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovl     eax, [rbx]}
     */
    // Template#: 1285, Serial#: 9852
    public void cmovl(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0260((byte) 0x4C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovl  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovl     eax, [L1: +305419896]}
     */
    // Template#: 1286, Serial#: 9855
    public void rip_cmovl(AMD64GeneralRegister32 destination, int rel32) {
        assemble0261((byte) 0x4C, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovl  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovl     eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1287, Serial#: 9859
    public void cmovl(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0262((byte) 0x4C, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovl  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovl     eax, 0x12345678[rsi * 4]}
     */
    // Template#: 1288, Serial#: 9854
    public void m_cmovl(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0263((byte) 0x4C, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovl  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovl     eax, [rbx + 305419896]}
     */
    // Template#: 1289, Serial#: 9858
    public void cmovl(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0264((byte) 0x4C, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovl  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovl     rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1290, Serial#: 9866
    public void cmovl(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0265((byte) 0x4C, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovl  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovl     rax, [rbx + 18]}
     */
    // Template#: 1291, Serial#: 9865
    public void cmovl(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0266((byte) 0x4C, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovl  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovl     rax, rbx[rsi * 4]}
     */
    // Template#: 1292, Serial#: 9862
    public void cmovl(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0267((byte) 0x4C, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovl  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovl     rax, rax}
     */
    // Template#: 1293, Serial#: 9869
    public void cmovl(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0268((byte) 0x4C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovl  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovl     rax, [rbx]}
     */
    // Template#: 1294, Serial#: 9861
    public void cmovl(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0269((byte) 0x4C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovl  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovl     rax, [L1: +305419896]}
     */
    // Template#: 1295, Serial#: 9864
    public void rip_cmovl(AMD64GeneralRegister64 destination, int rel32) {
        assemble0270((byte) 0x4C, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovl  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovl     rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1296, Serial#: 9868
    public void cmovl(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0271((byte) 0x4C, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovl  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovl     rax, 0x12345678[rsi * 4]}
     */
    // Template#: 1297, Serial#: 9863
    public void m_cmovl(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0272((byte) 0x4C, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovl  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovl     rax, [rbx + 305419896]}
     */
    // Template#: 1298, Serial#: 9867
    public void cmovl(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0273((byte) 0x4C, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovle  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovle    ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1299, Serial#: 9929
    public void cmovle(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0247((byte) 0x4E, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovle  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovle    ax, [rbx + 18]}
     */
    // Template#: 1300, Serial#: 9928
    public void cmovle(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0248((byte) 0x4E, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovle  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovle    ax, rbx[rsi * 4]}
     */
    // Template#: 1301, Serial#: 9925
    public void cmovle(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0249((byte) 0x4E, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovle  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovle    ax, ax}
     */
    // Template#: 1302, Serial#: 9932
    public void cmovle(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0250((byte) 0x4E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovle  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovle    ax, [rbx]}
     */
    // Template#: 1303, Serial#: 9924
    public void cmovle(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0251((byte) 0x4E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovle  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovle    ax, [L1: +305419896]}
     */
    // Template#: 1304, Serial#: 9927
    public void rip_cmovle(AMD64GeneralRegister16 destination, int rel32) {
        assemble0252((byte) 0x4E, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovle  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovle    ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1305, Serial#: 9931
    public void cmovle(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0253((byte) 0x4E, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovle  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovle    ax, 0x12345678[rsi * 4]}
     */
    // Template#: 1306, Serial#: 9926
    public void m_cmovle(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0254((byte) 0x4E, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovle  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovle    ax, [rbx + 305419896]}
     */
    // Template#: 1307, Serial#: 9930
    public void cmovle(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0255((byte) 0x4E, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovle  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovle    eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1308, Serial#: 9911
    public void cmovle(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0256((byte) 0x4E, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovle  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovle    eax, [rbx + 18]}
     */
    // Template#: 1309, Serial#: 9910
    public void cmovle(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0257((byte) 0x4E, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovle  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovle    eax, rbx[rsi * 4]}
     */
    // Template#: 1310, Serial#: 9907
    public void cmovle(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0258((byte) 0x4E, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovle  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovle    eax, eax}
     */
    // Template#: 1311, Serial#: 9914
    public void cmovle(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0259((byte) 0x4E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovle  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovle    eax, [rbx]}
     */
    // Template#: 1312, Serial#: 9906
    public void cmovle(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0260((byte) 0x4E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovle  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovle    eax, [L1: +305419896]}
     */
    // Template#: 1313, Serial#: 9909
    public void rip_cmovle(AMD64GeneralRegister32 destination, int rel32) {
        assemble0261((byte) 0x4E, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovle  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovle    eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1314, Serial#: 9913
    public void cmovle(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0262((byte) 0x4E, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovle  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovle    eax, 0x12345678[rsi * 4]}
     */
    // Template#: 1315, Serial#: 9908
    public void m_cmovle(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0263((byte) 0x4E, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovle  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovle    eax, [rbx + 305419896]}
     */
    // Template#: 1316, Serial#: 9912
    public void cmovle(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0264((byte) 0x4E, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovle  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovle    rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1317, Serial#: 9920
    public void cmovle(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0265((byte) 0x4E, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovle  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovle    rax, [rbx + 18]}
     */
    // Template#: 1318, Serial#: 9919
    public void cmovle(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0266((byte) 0x4E, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovle  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovle    rax, rbx[rsi * 4]}
     */
    // Template#: 1319, Serial#: 9916
    public void cmovle(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0267((byte) 0x4E, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovle  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovle    rax, rax}
     */
    // Template#: 1320, Serial#: 9923
    public void cmovle(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0268((byte) 0x4E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovle  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovle    rax, [rbx]}
     */
    // Template#: 1321, Serial#: 9915
    public void cmovle(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0269((byte) 0x4E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovle  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovle    rax, [L1: +305419896]}
     */
    // Template#: 1322, Serial#: 9918
    public void rip_cmovle(AMD64GeneralRegister64 destination, int rel32) {
        assemble0270((byte) 0x4E, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovle  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovle    rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1323, Serial#: 9922
    public void cmovle(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0271((byte) 0x4E, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovle  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovle    rax, 0x12345678[rsi * 4]}
     */
    // Template#: 1324, Serial#: 9917
    public void m_cmovle(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0272((byte) 0x4E, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovle  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovle    rax, [rbx + 305419896]}
     */
    // Template#: 1325, Serial#: 9921
    public void cmovle(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0273((byte) 0x4E, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovne  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovne    ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1326, Serial#: 6523
    public void cmovne(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0247((byte) 0x45, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovne  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovne    ax, [rbx + 18]}
     */
    // Template#: 1327, Serial#: 6522
    public void cmovne(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0248((byte) 0x45, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovne  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovne    ax, rbx[rsi * 4]}
     */
    // Template#: 1328, Serial#: 6519
    public void cmovne(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0249((byte) 0x45, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovne  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovne    ax, ax}
     */
    // Template#: 1329, Serial#: 6526
    public void cmovne(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0250((byte) 0x45, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovne  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovne    ax, [rbx]}
     */
    // Template#: 1330, Serial#: 6518
    public void cmovne(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0251((byte) 0x45, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovne  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovne    ax, [L1: +305419896]}
     */
    // Template#: 1331, Serial#: 6521
    public void rip_cmovne(AMD64GeneralRegister16 destination, int rel32) {
        assemble0252((byte) 0x45, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovne  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovne    ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1332, Serial#: 6525
    public void cmovne(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0253((byte) 0x45, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovne  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovne    ax, 0x12345678[rsi * 4]}
     */
    // Template#: 1333, Serial#: 6520
    public void m_cmovne(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0254((byte) 0x45, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovne  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovne    ax, [rbx + 305419896]}
     */
    // Template#: 1334, Serial#: 6524
    public void cmovne(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0255((byte) 0x45, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovne  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovne    eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1335, Serial#: 6505
    public void cmovne(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0256((byte) 0x45, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovne  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovne    eax, [rbx + 18]}
     */
    // Template#: 1336, Serial#: 6504
    public void cmovne(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0257((byte) 0x45, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovne  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovne    eax, rbx[rsi * 4]}
     */
    // Template#: 1337, Serial#: 6501
    public void cmovne(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0258((byte) 0x45, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovne  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovne    eax, eax}
     */
    // Template#: 1338, Serial#: 6508
    public void cmovne(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0259((byte) 0x45, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovne  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovne    eax, [rbx]}
     */
    // Template#: 1339, Serial#: 6500
    public void cmovne(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0260((byte) 0x45, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovne  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovne    eax, [L1: +305419896]}
     */
    // Template#: 1340, Serial#: 6503
    public void rip_cmovne(AMD64GeneralRegister32 destination, int rel32) {
        assemble0261((byte) 0x45, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovne  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovne    eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1341, Serial#: 6507
    public void cmovne(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0262((byte) 0x45, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovne  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovne    eax, 0x12345678[rsi * 4]}
     */
    // Template#: 1342, Serial#: 6502
    public void m_cmovne(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0263((byte) 0x45, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovne  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovne    eax, [rbx + 305419896]}
     */
    // Template#: 1343, Serial#: 6506
    public void cmovne(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0264((byte) 0x45, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovne  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovne    rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1344, Serial#: 6514
    public void cmovne(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0265((byte) 0x45, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovne  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovne    rax, [rbx + 18]}
     */
    // Template#: 1345, Serial#: 6513
    public void cmovne(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0266((byte) 0x45, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovne  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovne    rax, rbx[rsi * 4]}
     */
    // Template#: 1346, Serial#: 6510
    public void cmovne(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0267((byte) 0x45, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovne  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovne    rax, rax}
     */
    // Template#: 1347, Serial#: 6517
    public void cmovne(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0268((byte) 0x45, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovne  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovne    rax, [rbx]}
     */
    // Template#: 1348, Serial#: 6509
    public void cmovne(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0269((byte) 0x45, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovne  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovne    rax, [L1: +305419896]}
     */
    // Template#: 1349, Serial#: 6512
    public void rip_cmovne(AMD64GeneralRegister64 destination, int rel32) {
        assemble0270((byte) 0x45, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovne  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovne    rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1350, Serial#: 6516
    public void cmovne(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0271((byte) 0x45, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovne  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovne    rax, 0x12345678[rsi * 4]}
     */
    // Template#: 1351, Serial#: 6511
    public void m_cmovne(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0272((byte) 0x45, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovne  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovne    rax, [rbx + 305419896]}
     */
    // Template#: 1352, Serial#: 6515
    public void cmovne(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0273((byte) 0x45, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovno  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovno    ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1353, Serial#: 6415
    public void cmovno(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0247((byte) 0x41, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovno  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovno    ax, [rbx + 18]}
     */
    // Template#: 1354, Serial#: 6414
    public void cmovno(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0248((byte) 0x41, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovno  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovno    ax, rbx[rsi * 4]}
     */
    // Template#: 1355, Serial#: 6411
    public void cmovno(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0249((byte) 0x41, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovno  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovno    ax, ax}
     */
    // Template#: 1356, Serial#: 6418
    public void cmovno(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0250((byte) 0x41, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovno  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovno    ax, [rbx]}
     */
    // Template#: 1357, Serial#: 6410
    public void cmovno(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0251((byte) 0x41, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovno  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovno    ax, [L1: +305419896]}
     */
    // Template#: 1358, Serial#: 6413
    public void rip_cmovno(AMD64GeneralRegister16 destination, int rel32) {
        assemble0252((byte) 0x41, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovno  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovno    ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1359, Serial#: 6417
    public void cmovno(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0253((byte) 0x41, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovno  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovno    ax, 0x12345678[rsi * 4]}
     */
    // Template#: 1360, Serial#: 6412
    public void m_cmovno(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0254((byte) 0x41, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovno  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovno    ax, [rbx + 305419896]}
     */
    // Template#: 1361, Serial#: 6416
    public void cmovno(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0255((byte) 0x41, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovno  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovno    eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1362, Serial#: 6397
    public void cmovno(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0256((byte) 0x41, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovno  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovno    eax, [rbx + 18]}
     */
    // Template#: 1363, Serial#: 6396
    public void cmovno(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0257((byte) 0x41, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovno  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovno    eax, rbx[rsi * 4]}
     */
    // Template#: 1364, Serial#: 6393
    public void cmovno(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0258((byte) 0x41, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovno  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovno    eax, eax}
     */
    // Template#: 1365, Serial#: 6400
    public void cmovno(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0259((byte) 0x41, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovno  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovno    eax, [rbx]}
     */
    // Template#: 1366, Serial#: 6392
    public void cmovno(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0260((byte) 0x41, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovno  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovno    eax, [L1: +305419896]}
     */
    // Template#: 1367, Serial#: 6395
    public void rip_cmovno(AMD64GeneralRegister32 destination, int rel32) {
        assemble0261((byte) 0x41, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovno  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovno    eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1368, Serial#: 6399
    public void cmovno(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0262((byte) 0x41, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovno  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovno    eax, 0x12345678[rsi * 4]}
     */
    // Template#: 1369, Serial#: 6394
    public void m_cmovno(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0263((byte) 0x41, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovno  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovno    eax, [rbx + 305419896]}
     */
    // Template#: 1370, Serial#: 6398
    public void cmovno(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0264((byte) 0x41, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovno  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovno    rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1371, Serial#: 6406
    public void cmovno(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0265((byte) 0x41, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovno  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovno    rax, [rbx + 18]}
     */
    // Template#: 1372, Serial#: 6405
    public void cmovno(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0266((byte) 0x41, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovno  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovno    rax, rbx[rsi * 4]}
     */
    // Template#: 1373, Serial#: 6402
    public void cmovno(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0267((byte) 0x41, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovno  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovno    rax, rax}
     */
    // Template#: 1374, Serial#: 6409
    public void cmovno(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0268((byte) 0x41, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovno  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovno    rax, [rbx]}
     */
    // Template#: 1375, Serial#: 6401
    public void cmovno(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0269((byte) 0x41, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovno  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovno    rax, [L1: +305419896]}
     */
    // Template#: 1376, Serial#: 6404
    public void rip_cmovno(AMD64GeneralRegister64 destination, int rel32) {
        assemble0270((byte) 0x41, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovno  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovno    rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1377, Serial#: 6408
    public void cmovno(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0271((byte) 0x41, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovno  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovno    rax, 0x12345678[rsi * 4]}
     */
    // Template#: 1378, Serial#: 6403
    public void m_cmovno(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0272((byte) 0x41, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovno  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovno    rax, [rbx + 305419896]}
     */
    // Template#: 1379, Serial#: 6407
    public void cmovno(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0273((byte) 0x41, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovnp  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovnp    ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1380, Serial#: 9848
    public void cmovnp(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0247((byte) 0x4B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovnp  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovnp    ax, [rbx + 18]}
     */
    // Template#: 1381, Serial#: 9847
    public void cmovnp(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0248((byte) 0x4B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovnp  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovnp    ax, rbx[rsi * 4]}
     */
    // Template#: 1382, Serial#: 9844
    public void cmovnp(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0249((byte) 0x4B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovnp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovnp    ax, ax}
     */
    // Template#: 1383, Serial#: 9851
    public void cmovnp(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0250((byte) 0x4B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovnp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovnp    ax, [rbx]}
     */
    // Template#: 1384, Serial#: 9843
    public void cmovnp(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0251((byte) 0x4B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovnp  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovnp    ax, [L1: +305419896]}
     */
    // Template#: 1385, Serial#: 9846
    public void rip_cmovnp(AMD64GeneralRegister16 destination, int rel32) {
        assemble0252((byte) 0x4B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovnp  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovnp    ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1386, Serial#: 9850
    public void cmovnp(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0253((byte) 0x4B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovnp  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovnp    ax, 0x12345678[rsi * 4]}
     */
    // Template#: 1387, Serial#: 9845
    public void m_cmovnp(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0254((byte) 0x4B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovnp  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovnp    ax, [rbx + 305419896]}
     */
    // Template#: 1388, Serial#: 9849
    public void cmovnp(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0255((byte) 0x4B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovnp  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovnp    eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1389, Serial#: 9830
    public void cmovnp(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0256((byte) 0x4B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovnp  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovnp    eax, [rbx + 18]}
     */
    // Template#: 1390, Serial#: 9829
    public void cmovnp(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0257((byte) 0x4B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovnp  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovnp    eax, rbx[rsi * 4]}
     */
    // Template#: 1391, Serial#: 9826
    public void cmovnp(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0258((byte) 0x4B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovnp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovnp    eax, eax}
     */
    // Template#: 1392, Serial#: 9833
    public void cmovnp(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0259((byte) 0x4B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovnp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovnp    eax, [rbx]}
     */
    // Template#: 1393, Serial#: 9825
    public void cmovnp(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0260((byte) 0x4B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovnp  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovnp    eax, [L1: +305419896]}
     */
    // Template#: 1394, Serial#: 9828
    public void rip_cmovnp(AMD64GeneralRegister32 destination, int rel32) {
        assemble0261((byte) 0x4B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovnp  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovnp    eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1395, Serial#: 9832
    public void cmovnp(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0262((byte) 0x4B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovnp  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovnp    eax, 0x12345678[rsi * 4]}
     */
    // Template#: 1396, Serial#: 9827
    public void m_cmovnp(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0263((byte) 0x4B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovnp  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovnp    eax, [rbx + 305419896]}
     */
    // Template#: 1397, Serial#: 9831
    public void cmovnp(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0264((byte) 0x4B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovnp  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovnp    rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1398, Serial#: 9839
    public void cmovnp(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0265((byte) 0x4B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovnp  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovnp    rax, [rbx + 18]}
     */
    // Template#: 1399, Serial#: 9838
    public void cmovnp(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0266((byte) 0x4B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovnp  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovnp    rax, rbx[rsi * 4]}
     */
    // Template#: 1400, Serial#: 9835
    public void cmovnp(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0267((byte) 0x4B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovnp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovnp    rax, rax}
     */
    // Template#: 1401, Serial#: 9842
    public void cmovnp(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0268((byte) 0x4B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovnp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovnp    rax, [rbx]}
     */
    // Template#: 1402, Serial#: 9834
    public void cmovnp(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0269((byte) 0x4B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovnp  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovnp    rax, [L1: +305419896]}
     */
    // Template#: 1403, Serial#: 9837
    public void rip_cmovnp(AMD64GeneralRegister64 destination, int rel32) {
        assemble0270((byte) 0x4B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovnp  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovnp    rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1404, Serial#: 9841
    public void cmovnp(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0271((byte) 0x4B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovnp  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovnp    rax, 0x12345678[rsi * 4]}
     */
    // Template#: 1405, Serial#: 9836
    public void m_cmovnp(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0272((byte) 0x4B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovnp  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovnp    rax, [rbx + 305419896]}
     */
    // Template#: 1406, Serial#: 9840
    public void cmovnp(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0273((byte) 0x4B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovns  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovns    ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1407, Serial#: 9794
    public void cmovns(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0247((byte) 0x49, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovns  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovns    ax, [rbx + 18]}
     */
    // Template#: 1408, Serial#: 9793
    public void cmovns(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0248((byte) 0x49, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovns  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovns    ax, rbx[rsi * 4]}
     */
    // Template#: 1409, Serial#: 9790
    public void cmovns(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0249((byte) 0x49, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovns  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovns    ax, ax}
     */
    // Template#: 1410, Serial#: 9797
    public void cmovns(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0250((byte) 0x49, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovns  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovns    ax, [rbx]}
     */
    // Template#: 1411, Serial#: 9789
    public void cmovns(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0251((byte) 0x49, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovns  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovns    ax, [L1: +305419896]}
     */
    // Template#: 1412, Serial#: 9792
    public void rip_cmovns(AMD64GeneralRegister16 destination, int rel32) {
        assemble0252((byte) 0x49, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovns  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovns    ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1413, Serial#: 9796
    public void cmovns(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0253((byte) 0x49, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovns  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovns    ax, 0x12345678[rsi * 4]}
     */
    // Template#: 1414, Serial#: 9791
    public void m_cmovns(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0254((byte) 0x49, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovns  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovns    ax, [rbx + 305419896]}
     */
    // Template#: 1415, Serial#: 9795
    public void cmovns(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0255((byte) 0x49, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovns  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovns    eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1416, Serial#: 9776
    public void cmovns(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0256((byte) 0x49, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovns  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovns    eax, [rbx + 18]}
     */
    // Template#: 1417, Serial#: 9775
    public void cmovns(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0257((byte) 0x49, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovns  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovns    eax, rbx[rsi * 4]}
     */
    // Template#: 1418, Serial#: 9772
    public void cmovns(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0258((byte) 0x49, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovns  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovns    eax, eax}
     */
    // Template#: 1419, Serial#: 9779
    public void cmovns(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0259((byte) 0x49, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovns  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovns    eax, [rbx]}
     */
    // Template#: 1420, Serial#: 9771
    public void cmovns(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0260((byte) 0x49, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovns  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovns    eax, [L1: +305419896]}
     */
    // Template#: 1421, Serial#: 9774
    public void rip_cmovns(AMD64GeneralRegister32 destination, int rel32) {
        assemble0261((byte) 0x49, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovns  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovns    eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1422, Serial#: 9778
    public void cmovns(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0262((byte) 0x49, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovns  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovns    eax, 0x12345678[rsi * 4]}
     */
    // Template#: 1423, Serial#: 9773
    public void m_cmovns(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0263((byte) 0x49, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovns  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovns    eax, [rbx + 305419896]}
     */
    // Template#: 1424, Serial#: 9777
    public void cmovns(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0264((byte) 0x49, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovns  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovns    rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1425, Serial#: 9785
    public void cmovns(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0265((byte) 0x49, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovns  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovns    rax, [rbx + 18]}
     */
    // Template#: 1426, Serial#: 9784
    public void cmovns(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0266((byte) 0x49, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovns  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovns    rax, rbx[rsi * 4]}
     */
    // Template#: 1427, Serial#: 9781
    public void cmovns(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0267((byte) 0x49, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovns  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovns    rax, rax}
     */
    // Template#: 1428, Serial#: 9788
    public void cmovns(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0268((byte) 0x49, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovns  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovns    rax, [rbx]}
     */
    // Template#: 1429, Serial#: 9780
    public void cmovns(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0269((byte) 0x49, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovns  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovns    rax, [L1: +305419896]}
     */
    // Template#: 1430, Serial#: 9783
    public void rip_cmovns(AMD64GeneralRegister64 destination, int rel32) {
        assemble0270((byte) 0x49, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovns  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovns    rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1431, Serial#: 9787
    public void cmovns(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0271((byte) 0x49, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovns  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovns    rax, 0x12345678[rsi * 4]}
     */
    // Template#: 1432, Serial#: 9782
    public void m_cmovns(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0272((byte) 0x49, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovns  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovns    rax, [rbx + 305419896]}
     */
    // Template#: 1433, Serial#: 9786
    public void cmovns(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0273((byte) 0x49, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovo  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovo     ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1434, Serial#: 6388
    public void cmovo(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0247((byte) 0x40, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovo  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovo     ax, [rbx + 18]}
     */
    // Template#: 1435, Serial#: 6387
    public void cmovo(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0248((byte) 0x40, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovo  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovo     ax, rbx[rsi * 4]}
     */
    // Template#: 1436, Serial#: 6384
    public void cmovo(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0249((byte) 0x40, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovo  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovo     ax, ax}
     */
    // Template#: 1437, Serial#: 6391
    public void cmovo(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0250((byte) 0x40, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovo  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovo     ax, [rbx]}
     */
    // Template#: 1438, Serial#: 6383
    public void cmovo(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0251((byte) 0x40, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovo  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovo     ax, [L1: +305419896]}
     */
    // Template#: 1439, Serial#: 6386
    public void rip_cmovo(AMD64GeneralRegister16 destination, int rel32) {
        assemble0252((byte) 0x40, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovo  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovo     ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1440, Serial#: 6390
    public void cmovo(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0253((byte) 0x40, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovo  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovo     ax, 0x12345678[rsi * 4]}
     */
    // Template#: 1441, Serial#: 6385
    public void m_cmovo(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0254((byte) 0x40, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovo  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovo     ax, [rbx + 305419896]}
     */
    // Template#: 1442, Serial#: 6389
    public void cmovo(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0255((byte) 0x40, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovo  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovo     eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1443, Serial#: 6370
    public void cmovo(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0256((byte) 0x40, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovo  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovo     eax, [rbx + 18]}
     */
    // Template#: 1444, Serial#: 6369
    public void cmovo(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0257((byte) 0x40, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovo  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovo     eax, rbx[rsi * 4]}
     */
    // Template#: 1445, Serial#: 6366
    public void cmovo(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0258((byte) 0x40, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovo  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovo     eax, eax}
     */
    // Template#: 1446, Serial#: 6373
    public void cmovo(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0259((byte) 0x40, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovo  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovo     eax, [rbx]}
     */
    // Template#: 1447, Serial#: 6365
    public void cmovo(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0260((byte) 0x40, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovo  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovo     eax, [L1: +305419896]}
     */
    // Template#: 1448, Serial#: 6368
    public void rip_cmovo(AMD64GeneralRegister32 destination, int rel32) {
        assemble0261((byte) 0x40, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovo  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovo     eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1449, Serial#: 6372
    public void cmovo(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0262((byte) 0x40, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovo  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovo     eax, 0x12345678[rsi * 4]}
     */
    // Template#: 1450, Serial#: 6367
    public void m_cmovo(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0263((byte) 0x40, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovo  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovo     eax, [rbx + 305419896]}
     */
    // Template#: 1451, Serial#: 6371
    public void cmovo(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0264((byte) 0x40, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovo  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovo     rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1452, Serial#: 6379
    public void cmovo(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0265((byte) 0x40, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovo  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovo     rax, [rbx + 18]}
     */
    // Template#: 1453, Serial#: 6378
    public void cmovo(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0266((byte) 0x40, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovo  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovo     rax, rbx[rsi * 4]}
     */
    // Template#: 1454, Serial#: 6375
    public void cmovo(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0267((byte) 0x40, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovo  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovo     rax, rax}
     */
    // Template#: 1455, Serial#: 6382
    public void cmovo(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0268((byte) 0x40, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovo  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovo     rax, [rbx]}
     */
    // Template#: 1456, Serial#: 6374
    public void cmovo(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0269((byte) 0x40, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovo  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovo     rax, [L1: +305419896]}
     */
    // Template#: 1457, Serial#: 6377
    public void rip_cmovo(AMD64GeneralRegister64 destination, int rel32) {
        assemble0270((byte) 0x40, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovo  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovo     rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1458, Serial#: 6381
    public void cmovo(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0271((byte) 0x40, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovo  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovo     rax, 0x12345678[rsi * 4]}
     */
    // Template#: 1459, Serial#: 6376
    public void m_cmovo(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0272((byte) 0x40, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovo  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovo     rax, [rbx + 305419896]}
     */
    // Template#: 1460, Serial#: 6380
    public void cmovo(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0273((byte) 0x40, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovp  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovp     ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1461, Serial#: 9821
    public void cmovp(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0247((byte) 0x4A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovp  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovp     ax, [rbx + 18]}
     */
    // Template#: 1462, Serial#: 9820
    public void cmovp(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0248((byte) 0x4A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovp  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovp     ax, rbx[rsi * 4]}
     */
    // Template#: 1463, Serial#: 9817
    public void cmovp(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0249((byte) 0x4A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovp     ax, ax}
     */
    // Template#: 1464, Serial#: 9824
    public void cmovp(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0250((byte) 0x4A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovp     ax, [rbx]}
     */
    // Template#: 1465, Serial#: 9816
    public void cmovp(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0251((byte) 0x4A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovp  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovp     ax, [L1: +305419896]}
     */
    // Template#: 1466, Serial#: 9819
    public void rip_cmovp(AMD64GeneralRegister16 destination, int rel32) {
        assemble0252((byte) 0x4A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovp  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovp     ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1467, Serial#: 9823
    public void cmovp(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0253((byte) 0x4A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovp  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovp     ax, 0x12345678[rsi * 4]}
     */
    // Template#: 1468, Serial#: 9818
    public void m_cmovp(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0254((byte) 0x4A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovp  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovp     ax, [rbx + 305419896]}
     */
    // Template#: 1469, Serial#: 9822
    public void cmovp(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0255((byte) 0x4A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovp  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovp     eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1470, Serial#: 9803
    public void cmovp(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0256((byte) 0x4A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovp  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovp     eax, [rbx + 18]}
     */
    // Template#: 1471, Serial#: 9802
    public void cmovp(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0257((byte) 0x4A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovp  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovp     eax, rbx[rsi * 4]}
     */
    // Template#: 1472, Serial#: 9799
    public void cmovp(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0258((byte) 0x4A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovp     eax, eax}
     */
    // Template#: 1473, Serial#: 9806
    public void cmovp(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0259((byte) 0x4A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovp     eax, [rbx]}
     */
    // Template#: 1474, Serial#: 9798
    public void cmovp(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0260((byte) 0x4A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovp  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovp     eax, [L1: +305419896]}
     */
    // Template#: 1475, Serial#: 9801
    public void rip_cmovp(AMD64GeneralRegister32 destination, int rel32) {
        assemble0261((byte) 0x4A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovp  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovp     eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1476, Serial#: 9805
    public void cmovp(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0262((byte) 0x4A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovp  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovp     eax, 0x12345678[rsi * 4]}
     */
    // Template#: 1477, Serial#: 9800
    public void m_cmovp(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0263((byte) 0x4A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovp  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovp     eax, [rbx + 305419896]}
     */
    // Template#: 1478, Serial#: 9804
    public void cmovp(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0264((byte) 0x4A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovp  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovp     rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1479, Serial#: 9812
    public void cmovp(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0265((byte) 0x4A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovp  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovp     rax, [rbx + 18]}
     */
    // Template#: 1480, Serial#: 9811
    public void cmovp(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0266((byte) 0x4A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovp  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovp     rax, rbx[rsi * 4]}
     */
    // Template#: 1481, Serial#: 9808
    public void cmovp(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0267((byte) 0x4A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovp     rax, rax}
     */
    // Template#: 1482, Serial#: 9815
    public void cmovp(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0268((byte) 0x4A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovp     rax, [rbx]}
     */
    // Template#: 1483, Serial#: 9807
    public void cmovp(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0269((byte) 0x4A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovp  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovp     rax, [L1: +305419896]}
     */
    // Template#: 1484, Serial#: 9810
    public void rip_cmovp(AMD64GeneralRegister64 destination, int rel32) {
        assemble0270((byte) 0x4A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovp  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovp     rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1485, Serial#: 9814
    public void cmovp(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0271((byte) 0x4A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovp  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovp     rax, 0x12345678[rsi * 4]}
     */
    // Template#: 1486, Serial#: 9809
    public void m_cmovp(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0272((byte) 0x4A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovp  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovp     rax, [rbx + 305419896]}
     */
    // Template#: 1487, Serial#: 9813
    public void cmovp(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0273((byte) 0x4A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovs  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovs     ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1488, Serial#: 9767
    public void cmovs(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0247((byte) 0x48, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovs  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovs     ax, [rbx + 18]}
     */
    // Template#: 1489, Serial#: 9766
    public void cmovs(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0248((byte) 0x48, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovs  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovs     ax, rbx[rsi * 4]}
     */
    // Template#: 1490, Serial#: 9763
    public void cmovs(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0249((byte) 0x48, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovs  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovs     ax, ax}
     */
    // Template#: 1491, Serial#: 9770
    public void cmovs(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0250((byte) 0x48, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovs  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovs     ax, [rbx]}
     */
    // Template#: 1492, Serial#: 9762
    public void cmovs(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0251((byte) 0x48, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovs  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovs     ax, [L1: +305419896]}
     */
    // Template#: 1493, Serial#: 9765
    public void rip_cmovs(AMD64GeneralRegister16 destination, int rel32) {
        assemble0252((byte) 0x48, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovs  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovs     ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1494, Serial#: 9769
    public void cmovs(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0253((byte) 0x48, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovs  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovs     ax, 0x12345678[rsi * 4]}
     */
    // Template#: 1495, Serial#: 9764
    public void m_cmovs(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0254((byte) 0x48, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovs  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovs     ax, [rbx + 305419896]}
     */
    // Template#: 1496, Serial#: 9768
    public void cmovs(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0255((byte) 0x48, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovs  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovs     eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1497, Serial#: 9749
    public void cmovs(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0256((byte) 0x48, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovs  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovs     eax, [rbx + 18]}
     */
    // Template#: 1498, Serial#: 9748
    public void cmovs(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0257((byte) 0x48, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovs  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovs     eax, rbx[rsi * 4]}
     */
    // Template#: 1499, Serial#: 9745
    public void cmovs(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0258((byte) 0x48, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovs  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovs     eax, eax}
     */
    // Template#: 1500, Serial#: 9752
    public void cmovs(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0259((byte) 0x48, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovs  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovs     eax, [rbx]}
     */
    // Template#: 1501, Serial#: 9744
    public void cmovs(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0260((byte) 0x48, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovs  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovs     eax, [L1: +305419896]}
     */
    // Template#: 1502, Serial#: 9747
    public void rip_cmovs(AMD64GeneralRegister32 destination, int rel32) {
        assemble0261((byte) 0x48, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovs  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovs     eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1503, Serial#: 9751
    public void cmovs(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0262((byte) 0x48, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovs  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovs     eax, 0x12345678[rsi * 4]}
     */
    // Template#: 1504, Serial#: 9746
    public void m_cmovs(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0263((byte) 0x48, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovs  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovs     eax, [rbx + 305419896]}
     */
    // Template#: 1505, Serial#: 9750
    public void cmovs(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0264((byte) 0x48, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovs  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovs     rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1506, Serial#: 9758
    public void cmovs(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0265((byte) 0x48, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovs  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovs     rax, [rbx + 18]}
     */
    // Template#: 1507, Serial#: 9757
    public void cmovs(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0266((byte) 0x48, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovs  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovs     rax, rbx[rsi * 4]}
     */
    // Template#: 1508, Serial#: 9754
    public void cmovs(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0267((byte) 0x48, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovs  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovs     rax, rax}
     */
    // Template#: 1509, Serial#: 9761
    public void cmovs(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0268((byte) 0x48, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovs  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovs     rax, [rbx]}
     */
    // Template#: 1510, Serial#: 9753
    public void cmovs(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0269((byte) 0x48, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovs  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmovs     rax, [L1: +305419896]}
     */
    // Template#: 1511, Serial#: 9756
    public void rip_cmovs(AMD64GeneralRegister64 destination, int rel32) {
        assemble0270((byte) 0x48, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovs  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovs     rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1512, Serial#: 9760
    public void cmovs(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0271((byte) 0x48, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovs  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmovs     rax, 0x12345678[rsi * 4]}
     */
    // Template#: 1513, Serial#: 9755
    public void m_cmovs(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0272((byte) 0x48, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmovs  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmovs     rax, [rbx + 305419896]}
     */
    // Template#: 1514, Serial#: 9759
    public void cmovs(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0273((byte) 0x48, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>imm8</i>
     * Example disassembly syntax: {@code cmp       al, 0x12}
     */
    // Template#: 1515, Serial#: 3569
    public void cmp_AL(byte imm8) {
        assemble0001((byte) 0x3C, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>imm8</i>
     * Example disassembly syntax: {@code cmp       al, 0x12}
     */
    // Template#: 1516, Serial#: 3570
    public void cmp_AL_r3570(byte imm8) {
        assemble0002((byte) 0x3C, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>imm8</i>
     * Example disassembly syntax: {@code cmp       al, 0x12}
     */
    // Template#: 1517, Serial#: 3571
    public void cmp_AL_r3571(byte imm8) {
        assemble0003((byte) 0x3C, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 1518, Serial#: 544
    public void cmpb(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0x80, (byte) 0x07, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 1519, Serial#: 616
    public void cmpb_r616(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0x80, (byte) 0x07, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 1520, Serial#: 688
    public void cmpb_r688(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0x80, (byte) 0x07, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpl      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 1521, Serial#: 976
    public void cmpl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0x83, (byte) 0x07, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpq      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 1522, Serial#: 1048
    public void cmpq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0x83, (byte) 0x07, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpw      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 1523, Serial#: 1120
    public void cmpw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0x83, (byte) 0x07, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       rbx[rsi * 4 + 18], ax}
     */
    // Template#: 1524, Serial#: 3511
    public void cmp(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0007((byte) 0x39, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       rbx[rsi * 4 + 18], eax}
     */
    // Template#: 1525, Serial#: 3493
    public void cmp(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0008((byte) 0x39, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       rbx[rsi * 4 + 18], rax}
     */
    // Template#: 1526, Serial#: 3502
    public void cmp(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0009((byte) 0x39, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       rbx[rsi * 4 + 18], al}
     */
    // Template#: 1527, Serial#: 3466
    public void cmp(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0010((byte) 0x38, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       rbx[rsi * 4 + 18], al}
     */
    // Template#: 1528, Serial#: 3475
    public void cmp_r3475(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0011((byte) 0x38, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       rbx[rsi * 4 + 18], al}
     */
    // Template#: 1529, Serial#: 3484
    public void cmp_r3484(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0012((byte) 0x38, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code cmpl      rbx[rsi * 4 + 18], 0x12345678}
     */
    // Template#: 1530, Serial#: 760
    public void cmpl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0013((byte) 0x81, (byte) 0x07, disp8, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code cmpq      rbx[rsi * 4 + 18], 0x12345678}
     */
    // Template#: 1531, Serial#: 832
    public void cmpq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0014((byte) 0x81, (byte) 0x07, disp8, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code cmpw      rbx[rsi * 4 + 18], 0x1234}
     */
    // Template#: 1532, Serial#: 904
    public void cmpw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0015((byte) 0x81, (byte) 0x07, disp8, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpb      [rbx + 18], 0x12}
     */
    // Template#: 1533, Serial#: 543
    public void cmpb(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0x80, (byte) 0x07, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpb      [rbx + 18], 0x12}
     */
    // Template#: 1534, Serial#: 615
    public void cmpb_r615(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0x80, (byte) 0x07, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpb      [rbx + 18], 0x12}
     */
    // Template#: 1535, Serial#: 687
    public void cmpb_r687(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0x80, (byte) 0x07, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpl  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpl      [rbx + 18], 0x12}
     */
    // Template#: 1536, Serial#: 975
    public void cmpl(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0x83, (byte) 0x07, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpq  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpq      [rbx + 18], 0x12}
     */
    // Template#: 1537, Serial#: 1047
    public void cmpq(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0x83, (byte) 0x07, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpw  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpw      [rbx + 18], 0x12}
     */
    // Template#: 1538, Serial#: 1119
    public void cmpw(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0x83, (byte) 0x07, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       [rbx + 18], ax}
     */
    // Template#: 1539, Serial#: 3510
    public void cmp(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0019((byte) 0x39, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       [rbx + 18], eax}
     */
    // Template#: 1540, Serial#: 3492
    public void cmp(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0020((byte) 0x39, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       [rbx + 18], rax}
     */
    // Template#: 1541, Serial#: 3501
    public void cmp(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0021((byte) 0x39, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       [rbx + 18], al}
     */
    // Template#: 1542, Serial#: 3465
    public void cmp(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0022((byte) 0x38, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       [rbx + 18], al}
     */
    // Template#: 1543, Serial#: 3474
    public void cmp_r3474(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0023((byte) 0x38, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       [rbx + 18], al}
     */
    // Template#: 1544, Serial#: 3483
    public void cmp_r3483(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0024((byte) 0x38, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpl  }<i>disp8</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code cmpl      [rbx + 18], 0x12345678}
     */
    // Template#: 1545, Serial#: 759
    public void cmpl(byte disp8, AMD64IndirectRegister64 destination, int imm32) {
        assemble0025((byte) 0x81, (byte) 0x07, disp8, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpq  }<i>disp8</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code cmpq      [rbx + 18], 0x12345678}
     */
    // Template#: 1546, Serial#: 831
    public void cmpq(byte disp8, AMD64IndirectRegister64 destination, int imm32) {
        assemble0026((byte) 0x81, (byte) 0x07, disp8, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpw  }<i>disp8</i>, <i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code cmpw      [rbx + 18], 0x1234}
     */
    // Template#: 1547, Serial#: 903
    public void cmpw(byte disp8, AMD64IndirectRegister64 destination, short imm16) {
        assemble0027((byte) 0x81, (byte) 0x07, disp8, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpb      rbx[rsi * 4], 0x12}
     */
    // Template#: 1548, Serial#: 526
    public void cmpb(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0x80, (byte) 0x07, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpb      rbx[rsi * 4], 0x12}
     */
    // Template#: 1549, Serial#: 598
    public void cmpb_r598(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0x80, (byte) 0x07, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpb      rbx[rsi * 4], 0x12}
     */
    // Template#: 1550, Serial#: 670
    public void cmpb_r670(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0x80, (byte) 0x07, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpl  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpl      rbx[rsi * 4], 0x12}
     */
    // Template#: 1551, Serial#: 958
    public void cmpl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0x83, (byte) 0x07, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpq      rbx[rsi * 4], 0x12}
     */
    // Template#: 1552, Serial#: 1030
    public void cmpq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0x83, (byte) 0x07, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpw  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpw      rbx[rsi * 4], 0x12}
     */
    // Template#: 1553, Serial#: 1102
    public void cmpw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0x83, (byte) 0x07, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       rbx[rsi * 4], ax}
     */
    // Template#: 1554, Serial#: 3507
    public void cmp(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0031((byte) 0x39, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       rbx[rsi * 4], eax}
     */
    // Template#: 1555, Serial#: 3489
    public void cmp(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0032((byte) 0x39, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       rbx[rsi * 4], rax}
     */
    // Template#: 1556, Serial#: 3498
    public void cmp(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0033((byte) 0x39, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       rbx[rsi * 4], al}
     */
    // Template#: 1557, Serial#: 3462
    public void cmp(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0034((byte) 0x38, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       rbx[rsi * 4], al}
     */
    // Template#: 1558, Serial#: 3471
    public void cmp_r3471(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0035((byte) 0x38, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       rbx[rsi * 4], al}
     */
    // Template#: 1559, Serial#: 3480
    public void cmp_r3480(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0036((byte) 0x38, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpl  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code cmpl      rbx[rsi * 4], 0x12345678}
     */
    // Template#: 1560, Serial#: 742
    public void cmpl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0037((byte) 0x81, (byte) 0x07, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code cmpq      rbx[rsi * 4], 0x12345678}
     */
    // Template#: 1561, Serial#: 814
    public void cmpq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0038((byte) 0x81, (byte) 0x07, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpw  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code cmpw      rbx[rsi * 4], 0x1234}
     */
    // Template#: 1562, Serial#: 886
    public void cmpw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0039((byte) 0x81, (byte) 0x07, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpw      ax, 0x12}
     */
    // Template#: 1563, Serial#: 1144
    public void cmpw(AMD64GeneralRegister16 destination, byte imm8) {
        assemble0040((byte) 0x83, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmp       ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1564, Serial#: 3565
    public void cmp(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0041((byte) 0x3B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       ax, [rbx + 18]}
     */
    // Template#: 1565, Serial#: 3564
    public void cmp(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0042((byte) 0x3B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmp       ax, rbx[rsi * 4]}
     */
    // Template#: 1566, Serial#: 3561
    public void cmp(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0043((byte) 0x3B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       ax, ax}
     */
    // Template#: 1567, Serial#: 3514
    public void cmp(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0044((byte) 0x39, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       ax, ax}
     */
    // Template#: 1568, Serial#: 3568
    public void cmp_r3568(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0045((byte) 0x3B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       ax, [rbx]}
     */
    // Template#: 1569, Serial#: 3560
    public void cmp(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0046((byte) 0x3B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmp       ax, [L1: +305419896]}
     */
    // Template#: 1570, Serial#: 3563
    public void rip_cmp(AMD64GeneralRegister16 destination, int rel32) {
        assemble0047((byte) 0x3B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmp       ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1571, Serial#: 3567
    public void cmp(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0048((byte) 0x3B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmp       ax, 0x12345678[rsi * 4]}
     */
    // Template#: 1572, Serial#: 3562
    public void m_cmp(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0049((byte) 0x3B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       ax, [rbx + 305419896]}
     */
    // Template#: 1573, Serial#: 3566
    public void cmp(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0050((byte) 0x3B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpw  }<i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code cmpw      ax, 0x1234}
     */
    // Template#: 1574, Serial#: 928
    public void cmpw(AMD64GeneralRegister16 destination, short imm16) {
        assemble0051((byte) 0x81, (byte) 0x07, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpl  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpl      eax, 0x12}
     */
    // Template#: 1575, Serial#: 1000
    public void cmpl(AMD64GeneralRegister32 destination, byte imm8) {
        assemble0052((byte) 0x83, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmp       eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1576, Serial#: 3547
    public void cmp(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0053((byte) 0x3B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       eax, [rbx + 18]}
     */
    // Template#: 1577, Serial#: 3546
    public void cmp(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0054((byte) 0x3B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmp       eax, rbx[rsi * 4]}
     */
    // Template#: 1578, Serial#: 3543
    public void cmp(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0055((byte) 0x3B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       eax, eax}
     */
    // Template#: 1579, Serial#: 3496
    public void cmp(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0056((byte) 0x39, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       eax, eax}
     */
    // Template#: 1580, Serial#: 3550
    public void cmp_r3550(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0057((byte) 0x3B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       eax, [rbx]}
     */
    // Template#: 1581, Serial#: 3542
    public void cmp(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0058((byte) 0x3B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpl  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code cmpl      eax, 0x12345678}
     */
    // Template#: 1582, Serial#: 784
    public void cmpl(AMD64GeneralRegister32 destination, int imm32) {
        assemble0060((byte) 0x81, (byte) 0x07, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmp       eax, [L1: +305419896]}
     */
    // Template#: 1583, Serial#: 3545
    public void rip_cmp(AMD64GeneralRegister32 destination, int rel32) {
        assemble0059((byte) 0x3B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmp       eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1584, Serial#: 3549
    public void cmp(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0061((byte) 0x3B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmp       eax, 0x12345678[rsi * 4]}
     */
    // Template#: 1585, Serial#: 3544
    public void m_cmp(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0062((byte) 0x3B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       eax, [rbx + 305419896]}
     */
    // Template#: 1586, Serial#: 3548
    public void cmp(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0063((byte) 0x3B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpq      rax, 0x12}
     */
    // Template#: 1587, Serial#: 1072
    public void cmpq(AMD64GeneralRegister64 destination, byte imm8) {
        assemble0064((byte) 0x83, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmp       rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 1588, Serial#: 3556
    public void cmp(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0065((byte) 0x3B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       rax, [rbx + 18]}
     */
    // Template#: 1589, Serial#: 3555
    public void cmp(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0066((byte) 0x3B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmp       rax, rbx[rsi * 4]}
     */
    // Template#: 1590, Serial#: 3552
    public void cmp(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0067((byte) 0x3B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       rax, rax}
     */
    // Template#: 1591, Serial#: 3505
    public void cmp(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0068((byte) 0x39, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       rax, rax}
     */
    // Template#: 1592, Serial#: 3559
    public void cmp_r3559(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0069((byte) 0x3B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       rax, [rbx]}
     */
    // Template#: 1593, Serial#: 3551
    public void cmp(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0070((byte) 0x3B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpq  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code cmpq      rax, 0x12345678}
     */
    // Template#: 1594, Serial#: 856
    public void cmpq(AMD64GeneralRegister64 destination, int imm32) {
        assemble0072((byte) 0x81, (byte) 0x07, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmp       rax, [L1: +305419896]}
     */
    // Template#: 1595, Serial#: 3554
    public void rip_cmp(AMD64GeneralRegister64 destination, int rel32) {
        assemble0071((byte) 0x3B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmp       rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1596, Serial#: 3558
    public void cmp(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0073((byte) 0x3B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmp       rax, 0x12345678[rsi * 4]}
     */
    // Template#: 1597, Serial#: 3553
    public void m_cmp(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0074((byte) 0x3B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       rax, [rbx + 305419896]}
     */
    // Template#: 1598, Serial#: 3557
    public void cmp(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0075((byte) 0x3B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpb      al, 0x12}
     */
    // Template#: 1599, Serial#: 568
    public void cmpb(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0076((byte) 0x80, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpb      al, 0x12}
     */
    // Template#: 1600, Serial#: 640
    public void cmpb_r640(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0077((byte) 0x80, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpb      al, 0x12}
     */
    // Template#: 1601, Serial#: 712
    public void cmpb_r712(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0078((byte) 0x80, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmp       al, rbx[rsi * 4 + 18]}
     */
    // Template#: 1602, Serial#: 3520
    public void cmp(AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0079((byte) 0x3A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmp       al, rbx[rsi * 4 + 18]}
     */
    // Template#: 1603, Serial#: 3529
    public void cmp_r3529(AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0080((byte) 0x3A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmp       al, rbx[rsi * 4 + 18]}
     */
    // Template#: 1604, Serial#: 3538
    public void cmp_r3538(AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0081((byte) 0x3A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       al, [rbx + 18]}
     */
    // Template#: 1605, Serial#: 3519
    public void cmp(AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0082((byte) 0x3A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       al, [rbx + 18]}
     */
    // Template#: 1606, Serial#: 3528
    public void cmp_r3528(AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0083((byte) 0x3A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       al, [rbx + 18]}
     */
    // Template#: 1607, Serial#: 3537
    public void cmp_r3537(AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0084((byte) 0x3A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmp       al, rbx[rsi * 4]}
     */
    // Template#: 1608, Serial#: 3516
    public void cmp(AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0085((byte) 0x3A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmp       al, rbx[rsi * 4]}
     */
    // Template#: 1609, Serial#: 3525
    public void cmp_r3525(AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0086((byte) 0x3A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmp       al, rbx[rsi * 4]}
     */
    // Template#: 1610, Serial#: 3534
    public void cmp_r3534(AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0087((byte) 0x3A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       al, al}
     */
    // Template#: 1611, Serial#: 3469
    public void cmp(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0088((byte) 0x38, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       al, al}
     */
    // Template#: 1612, Serial#: 3478
    public void cmp_r3478(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0089((byte) 0x38, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       al, al}
     */
    // Template#: 1613, Serial#: 3487
    public void cmp_r3487(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0090((byte) 0x38, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       al, al}
     */
    // Template#: 1614, Serial#: 3523
    public void cmp_r3523(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0091((byte) 0x3A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       al, al}
     */
    // Template#: 1615, Serial#: 3532
    public void cmp_r3532(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0092((byte) 0x3A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       al, al}
     */
    // Template#: 1616, Serial#: 3541
    public void cmp_r3541(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0093((byte) 0x3A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       al, [rbx]}
     */
    // Template#: 1617, Serial#: 3515
    public void cmp(AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        assemble0094((byte) 0x3A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       al, [rbx]}
     */
    // Template#: 1618, Serial#: 3524
    public void cmp_r3524(AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        assemble0095((byte) 0x3A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       al, [rbx]}
     */
    // Template#: 1619, Serial#: 3533
    public void cmp_r3533(AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        assemble0096((byte) 0x3A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmp       al, [L1: +305419896]}
     */
    // Template#: 1620, Serial#: 3518
    public void rip_cmp(AMD64GeneralRegister8 destination, int rel32) {
        assemble0097((byte) 0x3A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmp       al, [L1: +305419896]}
     */
    // Template#: 1621, Serial#: 3527
    public void rip_cmp_r3527(AMD64GeneralRegister8 destination, int rel32) {
        assemble0098((byte) 0x3A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cmp       al, [L1: +305419896]}
     */
    // Template#: 1622, Serial#: 3536
    public void rip_cmp_r3536(AMD64GeneralRegister8 destination, int rel32) {
        assemble0099((byte) 0x3A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmp       al, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1623, Serial#: 3522
    public void cmp(AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0100((byte) 0x3A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmp       al, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1624, Serial#: 3531
    public void cmp_r3531(AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0101((byte) 0x3A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmp       al, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1625, Serial#: 3540
    public void cmp_r3540(AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0102((byte) 0x3A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmp       al, 0x12345678[rsi * 4]}
     */
    // Template#: 1626, Serial#: 3517
    public void m_cmp(AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0103((byte) 0x3A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmp       al, 0x12345678[rsi * 4]}
     */
    // Template#: 1627, Serial#: 3526
    public void m_cmp_r3526(AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0104((byte) 0x3A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmp       al, 0x12345678[rsi * 4]}
     */
    // Template#: 1628, Serial#: 3535
    public void m_cmp_r3535(AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0105((byte) 0x3A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       al, [rbx + 305419896]}
     */
    // Template#: 1629, Serial#: 3521
    public void cmp(AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0106((byte) 0x3A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       al, [rbx + 305419896]}
     */
    // Template#: 1630, Serial#: 3530
    public void cmp_r3530(AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0107((byte) 0x3A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       al, [rbx + 305419896]}
     */
    // Template#: 1631, Serial#: 3539
    public void cmp_r3539(AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0108((byte) 0x3A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpb      [rbx], 0x12}
     */
    // Template#: 1632, Serial#: 525
    public void cmpb(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0x80, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpb      [rbx], 0x12}
     */
    // Template#: 1633, Serial#: 597
    public void cmpb_r597(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0x80, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpb      [rbx], 0x12}
     */
    // Template#: 1634, Serial#: 669
    public void cmpb_r669(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0x80, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpl  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpl      [rbx], 0x12}
     */
    // Template#: 1635, Serial#: 957
    public void cmpl(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0x83, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpq      [rbx], 0x12}
     */
    // Template#: 1636, Serial#: 1029
    public void cmpq(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0x83, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpw      [rbx], 0x12}
     */
    // Template#: 1637, Serial#: 1101
    public void cmpw(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0x83, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       [rbx], ax}
     */
    // Template#: 1638, Serial#: 3506
    public void cmp(AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0112((byte) 0x39, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       [rbx], eax}
     */
    // Template#: 1639, Serial#: 3488
    public void cmp(AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0113((byte) 0x39, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       [rbx], rax}
     */
    // Template#: 1640, Serial#: 3497
    public void cmp(AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0114((byte) 0x39, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       [rbx], al}
     */
    // Template#: 1641, Serial#: 3461
    public void cmp(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0115((byte) 0x38, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       [rbx], al}
     */
    // Template#: 1642, Serial#: 3470
    public void cmp_r3470(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0116((byte) 0x38, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       [rbx], al}
     */
    // Template#: 1643, Serial#: 3479
    public void cmp_r3479(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0117((byte) 0x38, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpl  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code cmpl      [rbx], 0x12345678}
     */
    // Template#: 1644, Serial#: 741
    public void cmpl(AMD64IndirectRegister64 destination, int imm32) {
        assemble0118((byte) 0x81, (byte) 0x07, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpq  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code cmpq      [rbx], 0x12345678}
     */
    // Template#: 1645, Serial#: 813
    public void cmpq(AMD64IndirectRegister64 destination, int imm32) {
        assemble0119((byte) 0x81, (byte) 0x07, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpw  }<i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code cmpw      [rbx], 0x1234}
     */
    // Template#: 1646, Serial#: 885
    public void cmpw(AMD64IndirectRegister64 destination, short imm16) {
        assemble0120((byte) 0x81, (byte) 0x07, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>imm32</i>
     * Example disassembly syntax: {@code cmp       eax, 0x12345678}
     */
    // Template#: 1647, Serial#: 3572
    public void cmp_EAX(int imm32) {
        assemble0121((byte) 0x3D, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>imm32</i>
     * Example disassembly syntax: {@code cmp       rax, 0x12345678}
     */
    // Template#: 1648, Serial#: 3573
    public void cmp_RAX(int imm32) {
        assemble0122((byte) 0x3D, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpb      [L1: +305419896], 0x12}
     */
    // Template#: 1649, Serial#: 528
    public void rip_cmpb(int rel32, byte imm8) {
        assemble0123((byte) 0x80, (byte) 0x07, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpb      [L1: +305419896], 0x12}
     */
    // Template#: 1650, Serial#: 600
    public void rip_cmpb_r600(int rel32, byte imm8) {
        assemble0124((byte) 0x80, (byte) 0x07, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpb      [L1: +305419896], 0x12}
     */
    // Template#: 1651, Serial#: 672
    public void rip_cmpb_r672(int rel32, byte imm8) {
        assemble0125((byte) 0x80, (byte) 0x07, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpl  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpl      [L1: +305419896], 0x12}
     */
    // Template#: 1652, Serial#: 960
    public void rip_cmpl(int rel32, byte imm8) {
        assemble0123((byte) 0x83, (byte) 0x07, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpq  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpq      [L1: +305419896], 0x12}
     */
    // Template#: 1653, Serial#: 1032
    public void rip_cmpq(int rel32, byte imm8) {
        assemble0124((byte) 0x83, (byte) 0x07, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpw  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpw      [L1: +305419896], 0x12}
     */
    // Template#: 1654, Serial#: 1104
    public void rip_cmpw(int rel32, byte imm8) {
        assemble0125((byte) 0x83, (byte) 0x07, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 1655, Serial#: 560
    public void cmpb(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0x80, (byte) 0x07, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 1656, Serial#: 632
    public void cmpb_r632(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0x80, (byte) 0x07, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 1657, Serial#: 704
    public void cmpb_r704(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0x80, (byte) 0x07, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpl      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 1658, Serial#: 992
    public void cmpl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0x83, (byte) 0x07, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpq      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 1659, Serial#: 1064
    public void cmpq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0x83, (byte) 0x07, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpw      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 1660, Serial#: 1136
    public void cmpw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0x83, (byte) 0x07, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       rbx[rsi * 4 + 305419896], ax}
     */
    // Template#: 1661, Serial#: 3513
    public void cmp(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0129((byte) 0x39, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       rbx[rsi * 4 + 305419896], eax}
     */
    // Template#: 1662, Serial#: 3495
    public void cmp(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0130((byte) 0x39, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       rbx[rsi * 4 + 305419896], rax}
     */
    // Template#: 1663, Serial#: 3504
    public void cmp(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0131((byte) 0x39, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 1664, Serial#: 3468
    public void cmp(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0132((byte) 0x38, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 1665, Serial#: 3477
    public void cmp_r3477(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0133((byte) 0x38, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 1666, Serial#: 3486
    public void cmp_r3486(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0134((byte) 0x38, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code cmpl      rbx[rsi * 4 + 305419896], 0x12345678}
     */
    // Template#: 1667, Serial#: 776
    public void cmpl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0135((byte) 0x81, (byte) 0x07, disp32, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code cmpq      rbx[rsi * 4 + 305419896], 0x12345678}
     */
    // Template#: 1668, Serial#: 848
    public void cmpq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0136((byte) 0x81, (byte) 0x07, disp32, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code cmpw      rbx[rsi * 4 + 305419896], 0x1234}
     */
    // Template#: 1669, Serial#: 920
    public void cmpw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0137((byte) 0x81, (byte) 0x07, disp32, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       [L1: +305419896], ax}
     */
    // Template#: 1670, Serial#: 3509
    public void rip_cmp(int rel32, AMD64GeneralRegister16 source) {
        assemble0138((byte) 0x39, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       [L1: +305419896], eax}
     */
    // Template#: 1671, Serial#: 3491
    public void rip_cmp(int rel32, AMD64GeneralRegister32 source) {
        assemble0139((byte) 0x39, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       [L1: +305419896], rax}
     */
    // Template#: 1672, Serial#: 3500
    public void rip_cmp(int rel32, AMD64GeneralRegister64 source) {
        assemble0140((byte) 0x39, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       [L1: +305419896], al}
     */
    // Template#: 1673, Serial#: 3464
    public void rip_cmp(int rel32, AMD64GeneralRegister8 source) {
        assemble0141((byte) 0x38, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       [L1: +305419896], al}
     */
    // Template#: 1674, Serial#: 3473
    public void rip_cmp_r3473(int rel32, AMD64GeneralRegister8 source) {
        assemble0142((byte) 0x38, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       [L1: +305419896], al}
     */
    // Template#: 1675, Serial#: 3482
    public void rip_cmp_r3482(int rel32, AMD64GeneralRegister8 source) {
        assemble0143((byte) 0x38, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 1676, Serial#: 527
    public void m_cmpb(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0x80, (byte) 0x07, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 1677, Serial#: 599
    public void m_cmpb_r599(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0x80, (byte) 0x07, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 1678, Serial#: 671
    public void m_cmpb_r671(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0x80, (byte) 0x07, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpl  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpl      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 1679, Serial#: 959
    public void m_cmpl(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0x83, (byte) 0x07, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpq      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 1680, Serial#: 1031
    public void m_cmpq(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0x83, (byte) 0x07, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpw  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpw      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 1681, Serial#: 1103
    public void m_cmpw(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0x83, (byte) 0x07, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       0x12345678[rsi * 4], ax}
     */
    // Template#: 1682, Serial#: 3508
    public void m_cmp(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0147((byte) 0x39, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       0x12345678[rsi * 4], eax}
     */
    // Template#: 1683, Serial#: 3490
    public void m_cmp(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0148((byte) 0x39, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       0x12345678[rsi * 4], rax}
     */
    // Template#: 1684, Serial#: 3499
    public void m_cmp(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0149((byte) 0x39, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       0x12345678[rsi * 4], al}
     */
    // Template#: 1685, Serial#: 3463
    public void m_cmp(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0150((byte) 0x38, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       0x12345678[rsi * 4], al}
     */
    // Template#: 1686, Serial#: 3472
    public void m_cmp_r3472(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0151((byte) 0x38, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       0x12345678[rsi * 4], al}
     */
    // Template#: 1687, Serial#: 3481
    public void m_cmp_r3481(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0152((byte) 0x38, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpl  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code cmpl      0x12345678[rsi * 4], 0x12345678}
     */
    // Template#: 1688, Serial#: 743
    public void m_cmpl(int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0153((byte) 0x81, (byte) 0x07, m32, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code cmpq      0x12345678[rsi * 4], 0x12345678}
     */
    // Template#: 1689, Serial#: 815
    public void m_cmpq(int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0154((byte) 0x81, (byte) 0x07, m32, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpw  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code cmpw      0x12345678[rsi * 4], 0x1234}
     */
    // Template#: 1690, Serial#: 887
    public void m_cmpw(int m32, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0155((byte) 0x81, (byte) 0x07, m32, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpb      [rbx + 305419896], 0x12}
     */
    // Template#: 1691, Serial#: 559
    public void cmpb(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0x80, (byte) 0x07, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpb      [rbx + 305419896], 0x12}
     */
    // Template#: 1692, Serial#: 631
    public void cmpb_r631(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0x80, (byte) 0x07, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpb      [rbx + 305419896], 0x12}
     */
    // Template#: 1693, Serial#: 703
    public void cmpb_r703(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0x80, (byte) 0x07, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpl  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpl      [rbx + 305419896], 0x12}
     */
    // Template#: 1694, Serial#: 991
    public void cmpl(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0x83, (byte) 0x07, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpq  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpq      [rbx + 305419896], 0x12}
     */
    // Template#: 1695, Serial#: 1063
    public void cmpq(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0x83, (byte) 0x07, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpw  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code cmpw      [rbx + 305419896], 0x12}
     */
    // Template#: 1696, Serial#: 1135
    public void cmpw(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0x83, (byte) 0x07, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       [rbx + 305419896], ax}
     */
    // Template#: 1697, Serial#: 3512
    public void cmp(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0159((byte) 0x39, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       [rbx + 305419896], eax}
     */
    // Template#: 1698, Serial#: 3494
    public void cmp(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0160((byte) 0x39, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       [rbx + 305419896], rax}
     */
    // Template#: 1699, Serial#: 3503
    public void cmp(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0161((byte) 0x39, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       [rbx + 305419896], al}
     */
    // Template#: 1700, Serial#: 3467
    public void cmp(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0162((byte) 0x38, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       [rbx + 305419896], al}
     */
    // Template#: 1701, Serial#: 3476
    public void cmp_r3476(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0163((byte) 0x38, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmp       [rbx + 305419896], al}
     */
    // Template#: 1702, Serial#: 3485
    public void cmp_r3485(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0164((byte) 0x38, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpl  }<i>disp32</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code cmpl      [rbx + 305419896], 0x12345678}
     */
    // Template#: 1703, Serial#: 775
    public void cmpl(int disp32, AMD64IndirectRegister64 destination, int imm32) {
        assemble0165((byte) 0x81, (byte) 0x07, disp32, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpq  }<i>disp32</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code cmpq      [rbx + 305419896], 0x12345678}
     */
    // Template#: 1704, Serial#: 847
    public void cmpq(int disp32, AMD64IndirectRegister64 destination, int imm32) {
        assemble0166((byte) 0x81, (byte) 0x07, disp32, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpw  }<i>disp32</i>, <i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code cmpw      [rbx + 305419896], 0x1234}
     */
    // Template#: 1705, Serial#: 919
    public void cmpw(int disp32, AMD64IndirectRegister64 destination, short imm16) {
        assemble0167((byte) 0x81, (byte) 0x07, disp32, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpl  }<i>rel32</i>, <i>imm32</i>
     * Example disassembly syntax: {@code cmpl      [L1: +305419896], 0x12345678}
     */
    // Template#: 1706, Serial#: 744
    public void rip_cmpl(int rel32, int imm32) {
        assemble0168((byte) 0x81, (byte) 0x07, rel32, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpq  }<i>rel32</i>, <i>imm32</i>
     * Example disassembly syntax: {@code cmpq      [L1: +305419896], 0x12345678}
     */
    // Template#: 1707, Serial#: 816
    public void rip_cmpq(int rel32, int imm32) {
        assemble0169((byte) 0x81, (byte) 0x07, rel32, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpw  }<i>rel32</i>, <i>imm16</i>
     * Example disassembly syntax: {@code cmpw      [L1: +305419896], 0x1234}
     */
    // Template#: 1708, Serial#: 888
    public void rip_cmpw(int rel32, short imm16) {
        assemble0170((byte) 0x81, (byte) 0x07, rel32, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmp  }<i>imm16</i>
     * Example disassembly syntax: {@code cmp       ax, 0x1234}
     */
    // Template#: 1709, Serial#: 3574
    public void cmp_AX(short imm16) {
        assemble0171((byte) 0x3D, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmppd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmppd     xmm0, rbx[rsi * 4 + 18], less_than_or_equal}
     */
    // Template#: 1710, Serial#: 8093
    public void cmppd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0376((byte) 0xC2, destination, disp8, base, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmppd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmppd     xmm0, rbx[rsi * 4 + 18], less_than_or_equal}
     */
    // Template#: 1711, Serial#: 8102
    public void cmppd_r8102(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0377((byte) 0xC2, destination, disp8, base, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmppd  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmppd     xmm0, [rbx + 18], less_than_or_equal}
     */
    // Template#: 1712, Serial#: 8092
    public void cmppd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0378((byte) 0xC2, destination, disp8, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmppd  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmppd     xmm0, [rbx + 18], less_than_or_equal}
     */
    // Template#: 1713, Serial#: 8101
    public void cmppd_r8101(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0379((byte) 0xC2, destination, disp8, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmppd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmppd     xmm0, rbx[rsi * 4], less_than_or_equal}
     */
    // Template#: 1714, Serial#: 8089
    public void cmppd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0380((byte) 0xC2, destination, base, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmppd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmppd     xmm0, rbx[rsi * 4], less_than_or_equal}
     */
    // Template#: 1715, Serial#: 8098
    public void cmppd_r8098(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0381((byte) 0xC2, destination, base, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmppd  }<i>destination</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmppd     xmm0, [rbx], less_than_or_equal}
     */
    // Template#: 1716, Serial#: 8088
    public void cmppd(AMD64XMMRegister destination, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0382((byte) 0xC2, destination, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmppd  }<i>destination</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmppd     xmm0, [rbx], less_than_or_equal}
     */
    // Template#: 1717, Serial#: 8097
    public void cmppd_r8097(AMD64XMMRegister destination, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0383((byte) 0xC2, destination, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmppd  }<i>destination</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmppd     xmm0, xmm0, less_than_or_equal}
     */
    // Template#: 1718, Serial#: 8096
    public void cmppd(AMD64XMMRegister destination, AMD64XMMRegister source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0384((byte) 0xC2, destination, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmppd  }<i>destination</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmppd     xmm0, xmm0, less_than_or_equal}
     */
    // Template#: 1719, Serial#: 8105
    public void cmppd_r8105(AMD64XMMRegister destination, AMD64XMMRegister source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0385((byte) 0xC2, destination, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmppd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmppd     xmm0, rbx[rsi * 4 + 305419896], less_than_or_equal}
     */
    // Template#: 1720, Serial#: 8095
    public void cmppd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0386((byte) 0xC2, destination, disp32, base, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmppd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmppd     xmm0, rbx[rsi * 4 + 305419896], less_than_or_equal}
     */
    // Template#: 1721, Serial#: 8104
    public void cmppd_r8104(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0387((byte) 0xC2, destination, disp32, base, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmppd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmppd     xmm0, 0x12345678[rsi * 4], less_than_or_equal}
     */
    // Template#: 1722, Serial#: 8090
    public void m_cmppd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0388((byte) 0xC2, destination, m32, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmppd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmppd     xmm0, 0x12345678[rsi * 4], less_than_or_equal}
     */
    // Template#: 1723, Serial#: 8099
    public void m_cmppd_r8099(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0389((byte) 0xC2, destination, m32, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmppd  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmppd     xmm0, [rbx + 305419896], less_than_or_equal}
     */
    // Template#: 1724, Serial#: 8094
    public void cmppd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0390((byte) 0xC2, destination, disp32, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmppd  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmppd     xmm0, [rbx + 305419896], less_than_or_equal}
     */
    // Template#: 1725, Serial#: 8103
    public void cmppd_r8103(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0391((byte) 0xC2, destination, disp32, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmppd  }<i>destination</i>, <i>rel32</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmppd     xmm0, [L1: +305419896], less_than_or_equal}
     */
    // Template#: 1726, Serial#: 8091
    public void rip_cmppd(AMD64XMMRegister destination, int rel32, AMD64XMMComparison amd64xmmcomparison) {
        assemble0392((byte) 0xC2, destination, rel32, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmppd  }<i>destination</i>, <i>rel32</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmppd     xmm0, [L1: +305419896], less_than_or_equal}
     */
    // Template#: 1727, Serial#: 8100
    public void rip_cmppd_r8100(AMD64XMMRegister destination, int rel32, AMD64XMMComparison amd64xmmcomparison) {
        assemble0393((byte) 0xC2, destination, rel32, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpps     xmm0, rbx[rsi * 4 + 18], less_than_or_equal}
     */
    // Template#: 1728, Serial#: 8005
    public void cmpps(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0394((byte) 0xC2, destination, disp8, base, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpps     xmm0, rbx[rsi * 4 + 18], less_than_or_equal}
     */
    // Template#: 1729, Serial#: 8014
    public void cmpps_r8014(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0395((byte) 0xC2, destination, disp8, base, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpps  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpps     xmm0, [rbx + 18], less_than_or_equal}
     */
    // Template#: 1730, Serial#: 8004
    public void cmpps(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0396((byte) 0xC2, destination, disp8, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpps  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpps     xmm0, [rbx + 18], less_than_or_equal}
     */
    // Template#: 1731, Serial#: 8013
    public void cmpps_r8013(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0397((byte) 0xC2, destination, disp8, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpps     xmm0, rbx[rsi * 4], less_than_or_equal}
     */
    // Template#: 1732, Serial#: 8001
    public void cmpps(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0398((byte) 0xC2, destination, base, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpps     xmm0, rbx[rsi * 4], less_than_or_equal}
     */
    // Template#: 1733, Serial#: 8010
    public void cmpps_r8010(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0399((byte) 0xC2, destination, base, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpps  }<i>destination</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpps     xmm0, [rbx], less_than_or_equal}
     */
    // Template#: 1734, Serial#: 8000
    public void cmpps(AMD64XMMRegister destination, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0400((byte) 0xC2, destination, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpps  }<i>destination</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpps     xmm0, [rbx], less_than_or_equal}
     */
    // Template#: 1735, Serial#: 8009
    public void cmpps_r8009(AMD64XMMRegister destination, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0401((byte) 0xC2, destination, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpps  }<i>destination</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpps     xmm0, xmm0, less_than_or_equal}
     */
    // Template#: 1736, Serial#: 8008
    public void cmpps(AMD64XMMRegister destination, AMD64XMMRegister source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0402((byte) 0xC2, destination, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpps  }<i>destination</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpps     xmm0, xmm0, less_than_or_equal}
     */
    // Template#: 1737, Serial#: 8017
    public void cmpps_r8017(AMD64XMMRegister destination, AMD64XMMRegister source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0403((byte) 0xC2, destination, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpps     xmm0, rbx[rsi * 4 + 305419896], less_than_or_equal}
     */
    // Template#: 1738, Serial#: 8007
    public void cmpps(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0404((byte) 0xC2, destination, disp32, base, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpps     xmm0, rbx[rsi * 4 + 305419896], less_than_or_equal}
     */
    // Template#: 1739, Serial#: 8016
    public void cmpps_r8016(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0405((byte) 0xC2, destination, disp32, base, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpps     xmm0, 0x12345678[rsi * 4], less_than_or_equal}
     */
    // Template#: 1740, Serial#: 8002
    public void m_cmpps(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0406((byte) 0xC2, destination, m32, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpps     xmm0, 0x12345678[rsi * 4], less_than_or_equal}
     */
    // Template#: 1741, Serial#: 8011
    public void m_cmpps_r8011(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0407((byte) 0xC2, destination, m32, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpps  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpps     xmm0, [rbx + 305419896], less_than_or_equal}
     */
    // Template#: 1742, Serial#: 8006
    public void cmpps(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0408((byte) 0xC2, destination, disp32, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpps  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpps     xmm0, [rbx + 305419896], less_than_or_equal}
     */
    // Template#: 1743, Serial#: 8015
    public void cmpps_r8015(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0409((byte) 0xC2, destination, disp32, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpps  }<i>destination</i>, <i>rel32</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpps     xmm0, [L1: +305419896], less_than_or_equal}
     */
    // Template#: 1744, Serial#: 8003
    public void rip_cmpps(AMD64XMMRegister destination, int rel32, AMD64XMMComparison amd64xmmcomparison) {
        assemble0410((byte) 0xC2, destination, rel32, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpps  }<i>destination</i>, <i>rel32</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpps     xmm0, [L1: +305419896], less_than_or_equal}
     */
    // Template#: 1745, Serial#: 8012
    public void rip_cmpps_r8012(AMD64XMMRegister destination, int rel32, AMD64XMMComparison amd64xmmcomparison) {
        assemble0411((byte) 0xC2, destination, rel32, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpsb  }
     * Example disassembly syntax: {@code cmpsb   }
     */
    // Template#: 1746, Serial#: 1277
    public void cmpsb() {
        assemble0208((byte) 0xA6);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpsb  }
     * Example disassembly syntax: {@code cmpsb   }
     */
    // Template#: 1747, Serial#: 1278
    public void cmpsb_r1278() {
        assemble0209((byte) 0xA6);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpsb  }
     * Example disassembly syntax: {@code cmpsb   }
     */
    // Template#: 1748, Serial#: 1279
    public void cmpsb_r1279() {
        assemble0210((byte) 0xA6);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpsl  }
     * Example disassembly syntax: {@code cmpsl   }
     */
    // Template#: 1749, Serial#: 1280
    public void cmpsl() {
        assemble0208((byte) 0xA7);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpsq  }
     * Example disassembly syntax: {@code cmpsq   }
     */
    // Template#: 1750, Serial#: 1281
    public void cmpsq() {
        assemble0209((byte) 0xA7);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpsw  }
     * Example disassembly syntax: {@code cmpsw   }
     */
    // Template#: 1751, Serial#: 1282
    public void cmpsw() {
        assemble0210((byte) 0xA7);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpsd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpsd     xmm0, rbx[rsi * 4 + 18], less_than_or_equal}
     */
    // Template#: 1752, Serial#: 8141
    public void cmpsd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0412((byte) 0xC2, destination, disp8, base, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpsd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpsd     xmm0, rbx[rsi * 4 + 18], less_than_or_equal}
     */
    // Template#: 1753, Serial#: 8150
    public void cmpsd_r8150(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0413((byte) 0xC2, destination, disp8, base, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpsd  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpsd     xmm0, [rbx + 18], less_than_or_equal}
     */
    // Template#: 1754, Serial#: 8140
    public void cmpsd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0414((byte) 0xC2, destination, disp8, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpsd  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpsd     xmm0, [rbx + 18], less_than_or_equal}
     */
    // Template#: 1755, Serial#: 8149
    public void cmpsd_r8149(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0415((byte) 0xC2, destination, disp8, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpsd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpsd     xmm0, rbx[rsi * 4], less_than_or_equal}
     */
    // Template#: 1756, Serial#: 8137
    public void cmpsd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0416((byte) 0xC2, destination, base, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpsd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpsd     xmm0, rbx[rsi * 4], less_than_or_equal}
     */
    // Template#: 1757, Serial#: 8146
    public void cmpsd_r8146(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0417((byte) 0xC2, destination, base, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpsd  }<i>destination</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpsd     xmm0, [rbx], less_than_or_equal}
     */
    // Template#: 1758, Serial#: 8136
    public void cmpsd(AMD64XMMRegister destination, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0418((byte) 0xC2, destination, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpsd  }<i>destination</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpsd     xmm0, [rbx], less_than_or_equal}
     */
    // Template#: 1759, Serial#: 8145
    public void cmpsd_r8145(AMD64XMMRegister destination, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0419((byte) 0xC2, destination, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpsd  }<i>destination</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpsd     xmm0, xmm0, less_than_or_equal}
     */
    // Template#: 1760, Serial#: 8144
    public void cmpsd(AMD64XMMRegister destination, AMD64XMMRegister source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0420((byte) 0xC2, destination, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpsd  }<i>destination</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpsd     xmm0, xmm0, less_than_or_equal}
     */
    // Template#: 1761, Serial#: 8153
    public void cmpsd_r8153(AMD64XMMRegister destination, AMD64XMMRegister source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0421((byte) 0xC2, destination, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpsd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpsd     xmm0, rbx[rsi * 4 + 305419896], less_than_or_equal}
     */
    // Template#: 1762, Serial#: 8143
    public void cmpsd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0422((byte) 0xC2, destination, disp32, base, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpsd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpsd     xmm0, rbx[rsi * 4 + 305419896], less_than_or_equal}
     */
    // Template#: 1763, Serial#: 8152
    public void cmpsd_r8152(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0423((byte) 0xC2, destination, disp32, base, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpsd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpsd     xmm0, 0x12345678[rsi * 4], less_than_or_equal}
     */
    // Template#: 1764, Serial#: 8138
    public void m_cmpsd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0424((byte) 0xC2, destination, m32, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpsd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpsd     xmm0, 0x12345678[rsi * 4], less_than_or_equal}
     */
    // Template#: 1765, Serial#: 8147
    public void m_cmpsd_r8147(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0425((byte) 0xC2, destination, m32, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpsd  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpsd     xmm0, [rbx + 305419896], less_than_or_equal}
     */
    // Template#: 1766, Serial#: 8142
    public void cmpsd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0426((byte) 0xC2, destination, disp32, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpsd  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpsd     xmm0, [rbx + 305419896], less_than_or_equal}
     */
    // Template#: 1767, Serial#: 8151
    public void cmpsd_r8151(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0427((byte) 0xC2, destination, disp32, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpsd  }<i>destination</i>, <i>rel32</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpsd     xmm0, [L1: +305419896], less_than_or_equal}
     */
    // Template#: 1768, Serial#: 8139
    public void rip_cmpsd(AMD64XMMRegister destination, int rel32, AMD64XMMComparison amd64xmmcomparison) {
        assemble0428((byte) 0xC2, destination, rel32, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpsd  }<i>destination</i>, <i>rel32</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpsd     xmm0, [L1: +305419896], less_than_or_equal}
     */
    // Template#: 1769, Serial#: 8148
    public void rip_cmpsd_r8148(AMD64XMMRegister destination, int rel32, AMD64XMMComparison amd64xmmcomparison) {
        assemble0429((byte) 0xC2, destination, rel32, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpss     xmm0, rbx[rsi * 4 + 18], less_than_or_equal}
     */
    // Template#: 1770, Serial#: 8159
    public void cmpss(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0430((byte) 0xC2, destination, disp8, base, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpss     xmm0, rbx[rsi * 4 + 18], less_than_or_equal}
     */
    // Template#: 1771, Serial#: 8168
    public void cmpss_r8168(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0431((byte) 0xC2, destination, disp8, base, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpss  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpss     xmm0, [rbx + 18], less_than_or_equal}
     */
    // Template#: 1772, Serial#: 8158
    public void cmpss(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0432((byte) 0xC2, destination, disp8, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpss  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpss     xmm0, [rbx + 18], less_than_or_equal}
     */
    // Template#: 1773, Serial#: 8167
    public void cmpss_r8167(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0433((byte) 0xC2, destination, disp8, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpss     xmm0, rbx[rsi * 4], less_than_or_equal}
     */
    // Template#: 1774, Serial#: 8155
    public void cmpss(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0434((byte) 0xC2, destination, base, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpss     xmm0, rbx[rsi * 4], less_than_or_equal}
     */
    // Template#: 1775, Serial#: 8164
    public void cmpss_r8164(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0435((byte) 0xC2, destination, base, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpss  }<i>destination</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpss     xmm0, [rbx], less_than_or_equal}
     */
    // Template#: 1776, Serial#: 8154
    public void cmpss(AMD64XMMRegister destination, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0436((byte) 0xC2, destination, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpss  }<i>destination</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpss     xmm0, [rbx], less_than_or_equal}
     */
    // Template#: 1777, Serial#: 8163
    public void cmpss_r8163(AMD64XMMRegister destination, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0437((byte) 0xC2, destination, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpss  }<i>destination</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpss     xmm0, xmm0, less_than_or_equal}
     */
    // Template#: 1778, Serial#: 8162
    public void cmpss(AMD64XMMRegister destination, AMD64XMMRegister source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0438((byte) 0xC2, destination, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpss  }<i>destination</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpss     xmm0, xmm0, less_than_or_equal}
     */
    // Template#: 1779, Serial#: 8171
    public void cmpss_r8171(AMD64XMMRegister destination, AMD64XMMRegister source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0439((byte) 0xC2, destination, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpss     xmm0, rbx[rsi * 4 + 305419896], less_than_or_equal}
     */
    // Template#: 1780, Serial#: 8161
    public void cmpss(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0440((byte) 0xC2, destination, disp32, base, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpss     xmm0, rbx[rsi * 4 + 305419896], less_than_or_equal}
     */
    // Template#: 1781, Serial#: 8170
    public void cmpss_r8170(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0441((byte) 0xC2, destination, disp32, base, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpss     xmm0, 0x12345678[rsi * 4], less_than_or_equal}
     */
    // Template#: 1782, Serial#: 8156
    public void m_cmpss(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0442((byte) 0xC2, destination, m32, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpss     xmm0, 0x12345678[rsi * 4], less_than_or_equal}
     */
    // Template#: 1783, Serial#: 8165
    public void m_cmpss_r8165(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        assemble0443((byte) 0xC2, destination, m32, index, scale, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpss  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpss     xmm0, [rbx + 305419896], less_than_or_equal}
     */
    // Template#: 1784, Serial#: 8160
    public void cmpss(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0444((byte) 0xC2, destination, disp32, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpss  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpss     xmm0, [rbx + 305419896], less_than_or_equal}
     */
    // Template#: 1785, Serial#: 8169
    public void cmpss_r8169(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        assemble0445((byte) 0xC2, destination, disp32, source, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpss  }<i>destination</i>, <i>rel32</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpss     xmm0, [L1: +305419896], less_than_or_equal}
     */
    // Template#: 1786, Serial#: 8157
    public void rip_cmpss(AMD64XMMRegister destination, int rel32, AMD64XMMComparison amd64xmmcomparison) {
        assemble0446((byte) 0xC2, destination, rel32, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpss  }<i>destination</i>, <i>rel32</i>, <i>amd64xmmcomparison</i>
     * Example disassembly syntax: {@code cmpss     xmm0, [L1: +305419896], less_than_or_equal}
     */
    // Template#: 1787, Serial#: 8166
    public void rip_cmpss_r8166(AMD64XMMRegister destination, int rel32, AMD64XMMComparison amd64xmmcomparison) {
        assemble0447((byte) 0xC2, destination, rel32, amd64xmmcomparison);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   rbx[rsi * 4 + 18], ax}
     */
    // Template#: 1788, Serial#: 7870
    public void cmpxchg(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0279((byte) 0xB1, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   rbx[rsi * 4 + 18], eax}
     */
    // Template#: 1789, Serial#: 7852
    public void cmpxchg(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0280((byte) 0xB1, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   rbx[rsi * 4 + 18], rax}
     */
    // Template#: 1790, Serial#: 7861
    public void cmpxchg(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0281((byte) 0xB1, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   rbx[rsi * 4 + 18], al}
     */
    // Template#: 1791, Serial#: 7825
    public void cmpxchg(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0448((byte) 0xB0, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   rbx[rsi * 4 + 18], al}
     */
    // Template#: 1792, Serial#: 7834
    public void cmpxchg_r7834(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0449((byte) 0xB0, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   rbx[rsi * 4 + 18], al}
     */
    // Template#: 1793, Serial#: 7843
    public void cmpxchg_r7843(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0450((byte) 0xB0, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   [rbx + 18], ax}
     */
    // Template#: 1794, Serial#: 7869
    public void cmpxchg(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0285((byte) 0xB1, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   [rbx + 18], eax}
     */
    // Template#: 1795, Serial#: 7851
    public void cmpxchg(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0286((byte) 0xB1, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   [rbx + 18], rax}
     */
    // Template#: 1796, Serial#: 7860
    public void cmpxchg(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0287((byte) 0xB1, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   [rbx + 18], al}
     */
    // Template#: 1797, Serial#: 7824
    public void cmpxchg(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0451((byte) 0xB0, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   [rbx + 18], al}
     */
    // Template#: 1798, Serial#: 7833
    public void cmpxchg_r7833(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0452((byte) 0xB0, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   [rbx + 18], al}
     */
    // Template#: 1799, Serial#: 7842
    public void cmpxchg_r7842(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0453((byte) 0xB0, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   rbx[rsi * 4], ax}
     */
    // Template#: 1800, Serial#: 7866
    public void cmpxchg(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0291((byte) 0xB1, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   rbx[rsi * 4], eax}
     */
    // Template#: 1801, Serial#: 7848
    public void cmpxchg(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0292((byte) 0xB1, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   rbx[rsi * 4], rax}
     */
    // Template#: 1802, Serial#: 7857
    public void cmpxchg(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0293((byte) 0xB1, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   rbx[rsi * 4], al}
     */
    // Template#: 1803, Serial#: 7821
    public void cmpxchg(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0454((byte) 0xB0, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   rbx[rsi * 4], al}
     */
    // Template#: 1804, Serial#: 7830
    public void cmpxchg_r7830(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0455((byte) 0xB0, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   rbx[rsi * 4], al}
     */
    // Template#: 1805, Serial#: 7839
    public void cmpxchg_r7839(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0456((byte) 0xB0, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   ax, ax}
     */
    // Template#: 1806, Serial#: 7873
    public void cmpxchg(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0295((byte) 0xB1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   eax, eax}
     */
    // Template#: 1807, Serial#: 7855
    public void cmpxchg(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0297((byte) 0xB1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   rax, rax}
     */
    // Template#: 1808, Serial#: 7864
    public void cmpxchg(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0299((byte) 0xB1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   al, al}
     */
    // Template#: 1809, Serial#: 7828
    public void cmpxchg(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0457((byte) 0xB0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   al, al}
     */
    // Template#: 1810, Serial#: 7837
    public void cmpxchg_r7837(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0458((byte) 0xB0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   al, al}
     */
    // Template#: 1811, Serial#: 7846
    public void cmpxchg_r7846(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0459((byte) 0xB0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   [rbx], ax}
     */
    // Template#: 1812, Serial#: 7865
    public void cmpxchg(AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0303((byte) 0xB1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   [rbx], eax}
     */
    // Template#: 1813, Serial#: 7847
    public void cmpxchg(AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0304((byte) 0xB1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   [rbx], rax}
     */
    // Template#: 1814, Serial#: 7856
    public void cmpxchg(AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0305((byte) 0xB1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   [rbx], al}
     */
    // Template#: 1815, Serial#: 7820
    public void cmpxchg(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0460((byte) 0xB0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   [rbx], al}
     */
    // Template#: 1816, Serial#: 7829
    public void cmpxchg_r7829(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0461((byte) 0xB0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   [rbx], al}
     */
    // Template#: 1817, Serial#: 7838
    public void cmpxchg_r7838(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0462((byte) 0xB0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   rbx[rsi * 4 + 305419896], ax}
     */
    // Template#: 1818, Serial#: 7872
    public void cmpxchg(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0312((byte) 0xB1, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   rbx[rsi * 4 + 305419896], eax}
     */
    // Template#: 1819, Serial#: 7854
    public void cmpxchg(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0313((byte) 0xB1, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   rbx[rsi * 4 + 305419896], rax}
     */
    // Template#: 1820, Serial#: 7863
    public void cmpxchg(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0314((byte) 0xB1, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 1821, Serial#: 7827
    public void cmpxchg(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0463((byte) 0xB0, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 1822, Serial#: 7836
    public void cmpxchg_r7836(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0464((byte) 0xB0, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 1823, Serial#: 7845
    public void cmpxchg_r7845(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0465((byte) 0xB0, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   [L1: +305419896], ax}
     */
    // Template#: 1824, Serial#: 7868
    public void rip_cmpxchg(int rel32, AMD64GeneralRegister16 source) {
        assemble0315((byte) 0xB1, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   [L1: +305419896], eax}
     */
    // Template#: 1825, Serial#: 7850
    public void rip_cmpxchg(int rel32, AMD64GeneralRegister32 source) {
        assemble0316((byte) 0xB1, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   [L1: +305419896], rax}
     */
    // Template#: 1826, Serial#: 7859
    public void rip_cmpxchg(int rel32, AMD64GeneralRegister64 source) {
        assemble0317((byte) 0xB1, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   [L1: +305419896], al}
     */
    // Template#: 1827, Serial#: 7823
    public void rip_cmpxchg(int rel32, AMD64GeneralRegister8 source) {
        assemble0466((byte) 0xB0, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   [L1: +305419896], al}
     */
    // Template#: 1828, Serial#: 7832
    public void rip_cmpxchg_r7832(int rel32, AMD64GeneralRegister8 source) {
        assemble0467((byte) 0xB0, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   [L1: +305419896], al}
     */
    // Template#: 1829, Serial#: 7841
    public void rip_cmpxchg_r7841(int rel32, AMD64GeneralRegister8 source) {
        assemble0468((byte) 0xB0, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   0x12345678[rsi * 4], ax}
     */
    // Template#: 1830, Serial#: 7867
    public void m_cmpxchg(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0321((byte) 0xB1, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   0x12345678[rsi * 4], eax}
     */
    // Template#: 1831, Serial#: 7849
    public void m_cmpxchg(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0322((byte) 0xB1, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   0x12345678[rsi * 4], rax}
     */
    // Template#: 1832, Serial#: 7858
    public void m_cmpxchg(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0323((byte) 0xB1, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   0x12345678[rsi * 4], al}
     */
    // Template#: 1833, Serial#: 7822
    public void m_cmpxchg(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0469((byte) 0xB0, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   0x12345678[rsi * 4], al}
     */
    // Template#: 1834, Serial#: 7831
    public void m_cmpxchg_r7831(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0470((byte) 0xB0, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   0x12345678[rsi * 4], al}
     */
    // Template#: 1835, Serial#: 7840
    public void m_cmpxchg_r7840(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0471((byte) 0xB0, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   [rbx + 305419896], ax}
     */
    // Template#: 1836, Serial#: 7871
    public void cmpxchg(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0327((byte) 0xB1, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   [rbx + 305419896], eax}
     */
    // Template#: 1837, Serial#: 7853
    public void cmpxchg(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0328((byte) 0xB1, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   [rbx + 305419896], rax}
     */
    // Template#: 1838, Serial#: 7862
    public void cmpxchg(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0329((byte) 0xB1, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   [rbx + 305419896], al}
     */
    // Template#: 1839, Serial#: 7826
    public void cmpxchg(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0472((byte) 0xB0, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   [rbx + 305419896], al}
     */
    // Template#: 1840, Serial#: 7835
    public void cmpxchg_r7835(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0473((byte) 0xB0, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cmpxchg   [rbx + 305419896], al}
     */
    // Template#: 1841, Serial#: 7844
    public void cmpxchg_r7844(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0474((byte) 0xB0, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg16b  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmpxchg16b  rbx[rsi * 4 + 18]}
     */
    // Template#: 1842, Serial#: 8069
    public void cmpxchg16b(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0349((byte) 0xC7, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg16b  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmpxchg16b  rbx[rsi * 4 + 18]}
     */
    // Template#: 1843, Serial#: 8077
    public void cmpxchg16b_r8077(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0350((byte) 0xC7, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg16b  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmpxchg16b  rbx[rsi * 4 + 18]}
     */
    // Template#: 1844, Serial#: 8085
    public void cmpxchg16b_r8085(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0351((byte) 0xC7, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg16b  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code cmpxchg16b  [rbx + 18]}
     */
    // Template#: 1845, Serial#: 8068
    public void cmpxchg16b(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0352((byte) 0xC7, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg16b  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code cmpxchg16b  [rbx + 18]}
     */
    // Template#: 1846, Serial#: 8076
    public void cmpxchg16b_r8076(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0353((byte) 0xC7, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg16b  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code cmpxchg16b  [rbx + 18]}
     */
    // Template#: 1847, Serial#: 8084
    public void cmpxchg16b_r8084(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0354((byte) 0xC7, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg16b  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmpxchg16b  rbx[rsi * 4]}
     */
    // Template#: 1848, Serial#: 8065
    public void cmpxchg16b(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0355((byte) 0xC7, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg16b  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmpxchg16b  rbx[rsi * 4]}
     */
    // Template#: 1849, Serial#: 8073
    public void cmpxchg16b_r8073(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0356((byte) 0xC7, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg16b  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmpxchg16b  rbx[rsi * 4]}
     */
    // Template#: 1850, Serial#: 8081
    public void cmpxchg16b_r8081(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0357((byte) 0xC7, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg16b  }<i>destination</i>
     * Example disassembly syntax: {@code cmpxchg16b  [rbx]}
     */
    // Template#: 1851, Serial#: 8064
    public void cmpxchg16b(AMD64IndirectRegister64 destination) {
        assemble0358((byte) 0xC7, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg16b  }<i>destination</i>
     * Example disassembly syntax: {@code cmpxchg16b  [rbx]}
     */
    // Template#: 1852, Serial#: 8072
    public void cmpxchg16b_r8072(AMD64IndirectRegister64 destination) {
        assemble0359((byte) 0xC7, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg16b  }<i>destination</i>
     * Example disassembly syntax: {@code cmpxchg16b  [rbx]}
     */
    // Template#: 1853, Serial#: 8080
    public void cmpxchg16b_r8080(AMD64IndirectRegister64 destination) {
        assemble0360((byte) 0xC7, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg16b  }<i>rel32</i>
     * Example disassembly syntax: {@code cmpxchg16b  [L1: +305419896]}
     */
    // Template#: 1854, Serial#: 8067
    public void rip_cmpxchg16b(int rel32) {
        assemble0361((byte) 0xC7, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg16b  }<i>rel32</i>
     * Example disassembly syntax: {@code cmpxchg16b  [L1: +305419896]}
     */
    // Template#: 1855, Serial#: 8075
    public void rip_cmpxchg16b_r8075(int rel32) {
        assemble0362((byte) 0xC7, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg16b  }<i>rel32</i>
     * Example disassembly syntax: {@code cmpxchg16b  [L1: +305419896]}
     */
    // Template#: 1856, Serial#: 8083
    public void rip_cmpxchg16b_r8083(int rel32) {
        assemble0363((byte) 0xC7, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg16b  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmpxchg16b  rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1857, Serial#: 8071
    public void cmpxchg16b(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0364((byte) 0xC7, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg16b  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmpxchg16b  rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1858, Serial#: 8079
    public void cmpxchg16b_r8079(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0365((byte) 0xC7, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg16b  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmpxchg16b  rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1859, Serial#: 8087
    public void cmpxchg16b_r8087(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0366((byte) 0xC7, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg16b  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmpxchg16b  0x12345678[rsi * 4]}
     */
    // Template#: 1860, Serial#: 8066
    public void m_cmpxchg16b(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0367((byte) 0xC7, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg16b  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmpxchg16b  0x12345678[rsi * 4]}
     */
    // Template#: 1861, Serial#: 8074
    public void m_cmpxchg16b_r8074(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0368((byte) 0xC7, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg16b  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cmpxchg16b  0x12345678[rsi * 4]}
     */
    // Template#: 1862, Serial#: 8082
    public void m_cmpxchg16b_r8082(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0369((byte) 0xC7, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg16b  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code cmpxchg16b  [rbx + 305419896]}
     */
    // Template#: 1863, Serial#: 8070
    public void cmpxchg16b(int disp32, AMD64IndirectRegister64 destination) {
        assemble0370((byte) 0xC7, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg16b  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code cmpxchg16b  [rbx + 305419896]}
     */
    // Template#: 1864, Serial#: 8078
    public void cmpxchg16b_r8078(int disp32, AMD64IndirectRegister64 destination) {
        assemble0371((byte) 0xC7, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code cmpxchg16b  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code cmpxchg16b  [rbx + 305419896]}
     */
    // Template#: 1865, Serial#: 8086
    public void cmpxchg16b_r8086(int disp32, AMD64IndirectRegister64 destination) {
        assemble0372((byte) 0xC7, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code comisd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code comisd    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 1866, Serial#: 9623
    public void comisd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x2F, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code comisd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code comisd    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 1867, Serial#: 9632
    public void comisd_r9632(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x2F, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code comisd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code comisd    xmm0, [rbx + 18]}
     */
    // Template#: 1868, Serial#: 9622
    public void comisd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x2F, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code comisd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code comisd    xmm0, [rbx + 18]}
     */
    // Template#: 1869, Serial#: 9631
    public void comisd_r9631(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x2F, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code comisd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code comisd    xmm0, rbx[rsi * 4]}
     */
    // Template#: 1870, Serial#: 9619
    public void comisd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x2F, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code comisd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code comisd    xmm0, rbx[rsi * 4]}
     */
    // Template#: 1871, Serial#: 9628
    public void comisd_r9628(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x2F, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code comisd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code comisd    xmm0, [rbx]}
     */
    // Template#: 1872, Serial#: 9618
    public void comisd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x2F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code comisd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code comisd    xmm0, [rbx]}
     */
    // Template#: 1873, Serial#: 9627
    public void comisd_r9627(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x2F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code comisd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code comisd    xmm0, xmm0}
     */
    // Template#: 1874, Serial#: 9626
    public void comisd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x2F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code comisd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code comisd    xmm0, xmm0}
     */
    // Template#: 1875, Serial#: 9635
    public void comisd_r9635(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x2F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code comisd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code comisd    xmm0, [L1: +305419896]}
     */
    // Template#: 1876, Serial#: 9621
    public void rip_comisd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x2F, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code comisd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code comisd    xmm0, [L1: +305419896]}
     */
    // Template#: 1877, Serial#: 9630
    public void rip_comisd_r9630(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x2F, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code comisd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code comisd    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1878, Serial#: 9625
    public void comisd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x2F, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code comisd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code comisd    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1879, Serial#: 9634
    public void comisd_r9634(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x2F, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code comisd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code comisd    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 1880, Serial#: 9620
    public void m_comisd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x2F, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code comisd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code comisd    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 1881, Serial#: 9629
    public void m_comisd_r9629(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x2F, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code comisd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code comisd    xmm0, [rbx + 305419896]}
     */
    // Template#: 1882, Serial#: 9624
    public void comisd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x2F, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code comisd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code comisd    xmm0, [rbx + 305419896]}
     */
    // Template#: 1883, Serial#: 9633
    public void comisd_r9633(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x2F, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code comiss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code comiss    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 1884, Serial#: 9464
    public void comiss(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0190((byte) 0x2F, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code comiss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code comiss    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 1885, Serial#: 9473
    public void comiss_r9473(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0191((byte) 0x2F, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code comiss  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code comiss    xmm0, [rbx + 18]}
     */
    // Template#: 1886, Serial#: 9463
    public void comiss(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0192((byte) 0x2F, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code comiss  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code comiss    xmm0, [rbx + 18]}
     */
    // Template#: 1887, Serial#: 9472
    public void comiss_r9472(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0193((byte) 0x2F, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code comiss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code comiss    xmm0, rbx[rsi * 4]}
     */
    // Template#: 1888, Serial#: 9460
    public void comiss(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0194((byte) 0x2F, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code comiss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code comiss    xmm0, rbx[rsi * 4]}
     */
    // Template#: 1889, Serial#: 9469
    public void comiss_r9469(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0195((byte) 0x2F, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code comiss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code comiss    xmm0, [rbx]}
     */
    // Template#: 1890, Serial#: 9459
    public void comiss(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0196((byte) 0x2F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code comiss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code comiss    xmm0, [rbx]}
     */
    // Template#: 1891, Serial#: 9468
    public void comiss_r9468(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0197((byte) 0x2F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code comiss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code comiss    xmm0, xmm0}
     */
    // Template#: 1892, Serial#: 9467
    public void comiss(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0198((byte) 0x2F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code comiss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code comiss    xmm0, xmm0}
     */
    // Template#: 1893, Serial#: 9476
    public void comiss_r9476(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0199((byte) 0x2F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code comiss  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code comiss    xmm0, [L1: +305419896]}
     */
    // Template#: 1894, Serial#: 9462
    public void rip_comiss(AMD64XMMRegister destination, int rel32) {
        assemble0200((byte) 0x2F, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code comiss  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code comiss    xmm0, [L1: +305419896]}
     */
    // Template#: 1895, Serial#: 9471
    public void rip_comiss_r9471(AMD64XMMRegister destination, int rel32) {
        assemble0201((byte) 0x2F, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code comiss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code comiss    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1896, Serial#: 9466
    public void comiss(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0202((byte) 0x2F, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code comiss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code comiss    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1897, Serial#: 9475
    public void comiss_r9475(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0203((byte) 0x2F, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code comiss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code comiss    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 1898, Serial#: 9461
    public void m_comiss(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0204((byte) 0x2F, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code comiss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code comiss    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 1899, Serial#: 9470
    public void m_comiss_r9470(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0205((byte) 0x2F, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code comiss  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code comiss    xmm0, [rbx + 305419896]}
     */
    // Template#: 1900, Serial#: 9465
    public void comiss(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0206((byte) 0x2F, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code comiss  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code comiss    xmm0, [rbx + 305419896]}
     */
    // Template#: 1901, Serial#: 9474
    public void comiss_r9474(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0207((byte) 0x2F, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cpuid  }
     * Example disassembly syntax: {@code cpuid   }
     */
    // Template#: 1902, Serial#: 7736
    public void cpuid() {
        assemble0373((byte) 0xA2);
    }

    /**
     * Pseudo-external assembler syntax: {@code cpuid  }
     * Example disassembly syntax: {@code cpuid   }
     */
    // Template#: 1903, Serial#: 7737
    public void cpuid_r7737() {
        assemble0374((byte) 0xA2);
    }

    /**
     * Pseudo-external assembler syntax: {@code cpuid  }
     * Example disassembly syntax: {@code cpuid   }
     */
    // Template#: 1904, Serial#: 7738
    public void cpuid_r7738() {
        assemble0375((byte) 0xA2);
    }

    /**
     * Pseudo-external assembler syntax: {@code cqo  }
     * Example disassembly syntax: {@code cqo     }
     */
    // Template#: 1905, Serial#: 3860
    public void cqo() {
        assemble0209((byte) 0x99);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2pd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtdq2pd  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 1906, Serial#: 8804
    public void cvtdq2pd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0229((byte) 0xE6, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2pd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtdq2pd  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 1907, Serial#: 8813
    public void cvtdq2pd_r8813(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0230((byte) 0xE6, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2pd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtdq2pd  xmm0, [rbx + 18]}
     */
    // Template#: 1908, Serial#: 8803
    public void cvtdq2pd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0231((byte) 0xE6, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2pd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtdq2pd  xmm0, [rbx + 18]}
     */
    // Template#: 1909, Serial#: 8812
    public void cvtdq2pd_r8812(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0232((byte) 0xE6, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2pd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtdq2pd  xmm0, rbx[rsi * 4]}
     */
    // Template#: 1910, Serial#: 8800
    public void cvtdq2pd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0233((byte) 0xE6, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2pd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtdq2pd  xmm0, rbx[rsi * 4]}
     */
    // Template#: 1911, Serial#: 8809
    public void cvtdq2pd_r8809(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0234((byte) 0xE6, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2pd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtdq2pd  xmm0, [rbx]}
     */
    // Template#: 1912, Serial#: 8799
    public void cvtdq2pd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0235((byte) 0xE6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2pd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtdq2pd  xmm0, [rbx]}
     */
    // Template#: 1913, Serial#: 8808
    public void cvtdq2pd_r8808(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0236((byte) 0xE6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2pd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtdq2pd  xmm0, xmm0}
     */
    // Template#: 1914, Serial#: 8807
    public void cvtdq2pd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0237((byte) 0xE6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2pd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtdq2pd  xmm0, xmm0}
     */
    // Template#: 1915, Serial#: 8816
    public void cvtdq2pd_r8816(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0238((byte) 0xE6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2pd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtdq2pd  xmm0, [L1: +305419896]}
     */
    // Template#: 1916, Serial#: 8802
    public void rip_cvtdq2pd(AMD64XMMRegister destination, int rel32) {
        assemble0239((byte) 0xE6, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2pd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtdq2pd  xmm0, [L1: +305419896]}
     */
    // Template#: 1917, Serial#: 8811
    public void rip_cvtdq2pd_r8811(AMD64XMMRegister destination, int rel32) {
        assemble0240((byte) 0xE6, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2pd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtdq2pd  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1918, Serial#: 8806
    public void cvtdq2pd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0241((byte) 0xE6, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2pd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtdq2pd  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1919, Serial#: 8815
    public void cvtdq2pd_r8815(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0242((byte) 0xE6, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2pd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtdq2pd  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 1920, Serial#: 8801
    public void m_cvtdq2pd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0243((byte) 0xE6, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2pd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtdq2pd  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 1921, Serial#: 8810
    public void m_cvtdq2pd_r8810(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0244((byte) 0xE6, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2pd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtdq2pd  xmm0, [rbx + 305419896]}
     */
    // Template#: 1922, Serial#: 8805
    public void cvtdq2pd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0245((byte) 0xE6, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2pd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtdq2pd  xmm0, [rbx + 305419896]}
     */
    // Template#: 1923, Serial#: 8814
    public void cvtdq2pd_r8814(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0246((byte) 0xE6, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2ps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtdq2ps  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 1924, Serial#: 10019
    public void cvtdq2ps(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0190((byte) 0x5B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2ps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtdq2ps  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 1925, Serial#: 10028
    public void cvtdq2ps_r10028(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0191((byte) 0x5B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2ps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtdq2ps  xmm0, [rbx + 18]}
     */
    // Template#: 1926, Serial#: 10018
    public void cvtdq2ps(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0192((byte) 0x5B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2ps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtdq2ps  xmm0, [rbx + 18]}
     */
    // Template#: 1927, Serial#: 10027
    public void cvtdq2ps_r10027(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0193((byte) 0x5B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2ps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtdq2ps  xmm0, rbx[rsi * 4]}
     */
    // Template#: 1928, Serial#: 10015
    public void cvtdq2ps(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0194((byte) 0x5B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2ps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtdq2ps  xmm0, rbx[rsi * 4]}
     */
    // Template#: 1929, Serial#: 10024
    public void cvtdq2ps_r10024(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0195((byte) 0x5B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2ps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtdq2ps  xmm0, [rbx]}
     */
    // Template#: 1930, Serial#: 10014
    public void cvtdq2ps(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0196((byte) 0x5B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2ps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtdq2ps  xmm0, [rbx]}
     */
    // Template#: 1931, Serial#: 10023
    public void cvtdq2ps_r10023(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0197((byte) 0x5B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2ps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtdq2ps  xmm0, xmm0}
     */
    // Template#: 1932, Serial#: 10022
    public void cvtdq2ps(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0198((byte) 0x5B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2ps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtdq2ps  xmm0, xmm0}
     */
    // Template#: 1933, Serial#: 10031
    public void cvtdq2ps_r10031(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0199((byte) 0x5B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2ps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtdq2ps  xmm0, [L1: +305419896]}
     */
    // Template#: 1934, Serial#: 10017
    public void rip_cvtdq2ps(AMD64XMMRegister destination, int rel32) {
        assemble0200((byte) 0x5B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2ps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtdq2ps  xmm0, [L1: +305419896]}
     */
    // Template#: 1935, Serial#: 10026
    public void rip_cvtdq2ps_r10026(AMD64XMMRegister destination, int rel32) {
        assemble0201((byte) 0x5B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2ps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtdq2ps  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1936, Serial#: 10021
    public void cvtdq2ps(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0202((byte) 0x5B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2ps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtdq2ps  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1937, Serial#: 10030
    public void cvtdq2ps_r10030(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0203((byte) 0x5B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2ps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtdq2ps  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 1938, Serial#: 10016
    public void m_cvtdq2ps(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0204((byte) 0x5B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2ps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtdq2ps  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 1939, Serial#: 10025
    public void m_cvtdq2ps_r10025(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0205((byte) 0x5B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2ps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtdq2ps  xmm0, [rbx + 305419896]}
     */
    // Template#: 1940, Serial#: 10020
    public void cvtdq2ps(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0206((byte) 0x5B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtdq2ps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtdq2ps  xmm0, [rbx + 305419896]}
     */
    // Template#: 1941, Serial#: 10029
    public void cvtdq2ps_r10029(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0207((byte) 0x5B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2dq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpd2dq  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 1942, Serial#: 8786
    public void cvtpd2dq(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0211((byte) 0xE6, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2dq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpd2dq  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 1943, Serial#: 8795
    public void cvtpd2dq_r8795(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0212((byte) 0xE6, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2dq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpd2dq  xmm0, [rbx + 18]}
     */
    // Template#: 1944, Serial#: 8785
    public void cvtpd2dq(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0213((byte) 0xE6, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2dq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpd2dq  xmm0, [rbx + 18]}
     */
    // Template#: 1945, Serial#: 8794
    public void cvtpd2dq_r8794(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0214((byte) 0xE6, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2dq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpd2dq  xmm0, rbx[rsi * 4]}
     */
    // Template#: 1946, Serial#: 8782
    public void cvtpd2dq(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0215((byte) 0xE6, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2dq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpd2dq  xmm0, rbx[rsi * 4]}
     */
    // Template#: 1947, Serial#: 8791
    public void cvtpd2dq_r8791(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0216((byte) 0xE6, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2dq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpd2dq  xmm0, [rbx]}
     */
    // Template#: 1948, Serial#: 8781
    public void cvtpd2dq(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0217((byte) 0xE6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2dq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpd2dq  xmm0, [rbx]}
     */
    // Template#: 1949, Serial#: 8790
    public void cvtpd2dq_r8790(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0218((byte) 0xE6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2dq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpd2dq  xmm0, xmm0}
     */
    // Template#: 1950, Serial#: 8789
    public void cvtpd2dq(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0219((byte) 0xE6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2dq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpd2dq  xmm0, xmm0}
     */
    // Template#: 1951, Serial#: 8798
    public void cvtpd2dq_r8798(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0220((byte) 0xE6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2dq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtpd2dq  xmm0, [L1: +305419896]}
     */
    // Template#: 1952, Serial#: 8784
    public void rip_cvtpd2dq(AMD64XMMRegister destination, int rel32) {
        assemble0221((byte) 0xE6, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2dq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtpd2dq  xmm0, [L1: +305419896]}
     */
    // Template#: 1953, Serial#: 8793
    public void rip_cvtpd2dq_r8793(AMD64XMMRegister destination, int rel32) {
        assemble0222((byte) 0xE6, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2dq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpd2dq  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1954, Serial#: 8788
    public void cvtpd2dq(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0223((byte) 0xE6, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2dq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpd2dq  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1955, Serial#: 8797
    public void cvtpd2dq_r8797(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0224((byte) 0xE6, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2dq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpd2dq  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 1956, Serial#: 8783
    public void m_cvtpd2dq(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0225((byte) 0xE6, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2dq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpd2dq  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 1957, Serial#: 8792
    public void m_cvtpd2dq_r8792(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0226((byte) 0xE6, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2dq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpd2dq  xmm0, [rbx + 305419896]}
     */
    // Template#: 1958, Serial#: 8787
    public void cvtpd2dq(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0227((byte) 0xE6, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2dq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpd2dq  xmm0, [rbx + 305419896]}
     */
    // Template#: 1959, Serial#: 8796
    public void cvtpd2dq_r8796(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0228((byte) 0xE6, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2pi  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpd2pi  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 1960, Serial#: 9587
    public void cvtpd2pi(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0475((byte) 0x2D, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2pi  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpd2pi  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 1961, Serial#: 9596
    public void cvtpd2pi_r9596(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0476((byte) 0x2D, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2pi  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpd2pi  mm0, [rbx + 18]}
     */
    // Template#: 1962, Serial#: 9586
    public void cvtpd2pi(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0477((byte) 0x2D, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2pi  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpd2pi  mm0, [rbx + 18]}
     */
    // Template#: 1963, Serial#: 9595
    public void cvtpd2pi_r9595(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0478((byte) 0x2D, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2pi  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpd2pi  mm0, rbx[rsi * 4]}
     */
    // Template#: 1964, Serial#: 9583
    public void cvtpd2pi(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0479((byte) 0x2D, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2pi  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpd2pi  mm0, rbx[rsi * 4]}
     */
    // Template#: 1965, Serial#: 9592
    public void cvtpd2pi_r9592(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0480((byte) 0x2D, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2pi  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpd2pi  mm0, [rbx]}
     */
    // Template#: 1966, Serial#: 9582
    public void cvtpd2pi(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0481((byte) 0x2D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2pi  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpd2pi  mm0, [rbx]}
     */
    // Template#: 1967, Serial#: 9591
    public void cvtpd2pi_r9591(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0482((byte) 0x2D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2pi  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpd2pi  mm0, xmm0}
     */
    // Template#: 1968, Serial#: 9590
    public void cvtpd2pi(MMXRegister destination, AMD64XMMRegister source) {
        assemble0483((byte) 0x2D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2pi  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpd2pi  mm0, xmm0}
     */
    // Template#: 1969, Serial#: 9599
    public void cvtpd2pi_r9599(MMXRegister destination, AMD64XMMRegister source) {
        assemble0484((byte) 0x2D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2pi  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtpd2pi  mm0, [L1: +305419896]}
     */
    // Template#: 1970, Serial#: 9585
    public void rip_cvtpd2pi(MMXRegister destination, int rel32) {
        assemble0485((byte) 0x2D, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2pi  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtpd2pi  mm0, [L1: +305419896]}
     */
    // Template#: 1971, Serial#: 9594
    public void rip_cvtpd2pi_r9594(MMXRegister destination, int rel32) {
        assemble0486((byte) 0x2D, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2pi  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpd2pi  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1972, Serial#: 9589
    public void cvtpd2pi(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0487((byte) 0x2D, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2pi  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpd2pi  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1973, Serial#: 9598
    public void cvtpd2pi_r9598(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0488((byte) 0x2D, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2pi  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpd2pi  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 1974, Serial#: 9584
    public void m_cvtpd2pi(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0489((byte) 0x2D, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2pi  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpd2pi  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 1975, Serial#: 9593
    public void m_cvtpd2pi_r9593(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0490((byte) 0x2D, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2pi  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpd2pi  mm0, [rbx + 305419896]}
     */
    // Template#: 1976, Serial#: 9588
    public void cvtpd2pi(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0491((byte) 0x2D, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2pi  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpd2pi  mm0, [rbx + 305419896]}
     */
    // Template#: 1977, Serial#: 9597
    public void cvtpd2pi_r9597(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0492((byte) 0x2D, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2ps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpd2ps  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 1978, Serial#: 10145
    public void cvtpd2ps(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x5A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2ps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpd2ps  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 1979, Serial#: 10154
    public void cvtpd2ps_r10154(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x5A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2ps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpd2ps  xmm0, [rbx + 18]}
     */
    // Template#: 1980, Serial#: 10144
    public void cvtpd2ps(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x5A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2ps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpd2ps  xmm0, [rbx + 18]}
     */
    // Template#: 1981, Serial#: 10153
    public void cvtpd2ps_r10153(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x5A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2ps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpd2ps  xmm0, rbx[rsi * 4]}
     */
    // Template#: 1982, Serial#: 10141
    public void cvtpd2ps(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x5A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2ps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpd2ps  xmm0, rbx[rsi * 4]}
     */
    // Template#: 1983, Serial#: 10150
    public void cvtpd2ps_r10150(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x5A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2ps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpd2ps  xmm0, [rbx]}
     */
    // Template#: 1984, Serial#: 10140
    public void cvtpd2ps(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x5A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2ps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpd2ps  xmm0, [rbx]}
     */
    // Template#: 1985, Serial#: 10149
    public void cvtpd2ps_r10149(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x5A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2ps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpd2ps  xmm0, xmm0}
     */
    // Template#: 1986, Serial#: 10148
    public void cvtpd2ps(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x5A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2ps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpd2ps  xmm0, xmm0}
     */
    // Template#: 1987, Serial#: 10157
    public void cvtpd2ps_r10157(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x5A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2ps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtpd2ps  xmm0, [L1: +305419896]}
     */
    // Template#: 1988, Serial#: 10143
    public void rip_cvtpd2ps(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x5A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2ps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtpd2ps  xmm0, [L1: +305419896]}
     */
    // Template#: 1989, Serial#: 10152
    public void rip_cvtpd2ps_r10152(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x5A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2ps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpd2ps  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1990, Serial#: 10147
    public void cvtpd2ps(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x5A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2ps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpd2ps  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 1991, Serial#: 10156
    public void cvtpd2ps_r10156(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x5A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2ps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpd2ps  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 1992, Serial#: 10142
    public void m_cvtpd2ps(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x5A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2ps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpd2ps  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 1993, Serial#: 10151
    public void m_cvtpd2ps_r10151(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x5A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2ps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpd2ps  xmm0, [rbx + 305419896]}
     */
    // Template#: 1994, Serial#: 10146
    public void cvtpd2ps(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x5A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpd2ps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpd2ps  xmm0, [rbx + 305419896]}
     */
    // Template#: 1995, Serial#: 10155
    public void cvtpd2ps_r10155(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x5A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2pd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpi2pd  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 1996, Serial#: 9518
    public void cvtpi2pd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x2A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2pd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpi2pd  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 1997, Serial#: 9527
    public void cvtpi2pd_r9527(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x2A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2pd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpi2pd  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 1998, Serial#: 9536
    public void cvtpi2pd_r9536(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0493((byte) 0x2A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2pd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpi2pd  xmm0, [rbx + 18]}
     */
    // Template#: 1999, Serial#: 9517
    public void cvtpi2pd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x2A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2pd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpi2pd  xmm0, [rbx + 18]}
     */
    // Template#: 2000, Serial#: 9526
    public void cvtpi2pd_r9526(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x2A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2pd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpi2pd  xmm0, [rbx + 18]}
     */
    // Template#: 2001, Serial#: 9535
    public void cvtpi2pd_r9535(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0494((byte) 0x2A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2pd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpi2pd  xmm0, rbx[rsi * 4]}
     */
    // Template#: 2002, Serial#: 9514
    public void cvtpi2pd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x2A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2pd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpi2pd  xmm0, rbx[rsi * 4]}
     */
    // Template#: 2003, Serial#: 9523
    public void cvtpi2pd_r9523(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x2A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2pd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpi2pd  xmm0, rbx[rsi * 4]}
     */
    // Template#: 2004, Serial#: 9532
    public void cvtpi2pd_r9532(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0495((byte) 0x2A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2pd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpi2pd  xmm0, [rbx]}
     */
    // Template#: 2005, Serial#: 9513
    public void cvtpi2pd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x2A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2pd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpi2pd  xmm0, [rbx]}
     */
    // Template#: 2006, Serial#: 9522
    public void cvtpi2pd_r9522(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x2A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2pd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpi2pd  xmm0, [rbx]}
     */
    // Template#: 2007, Serial#: 9531
    public void cvtpi2pd_r9531(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0496((byte) 0x2A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2pd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpi2pd  xmm0, mm0}
     */
    // Template#: 2008, Serial#: 9521
    public void cvtpi2pd(AMD64XMMRegister destination, MMXRegister source) {
        assemble0497((byte) 0x2A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2pd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpi2pd  xmm0, mm0}
     */
    // Template#: 2009, Serial#: 9530
    public void cvtpi2pd_r9530(AMD64XMMRegister destination, MMXRegister source) {
        assemble0498((byte) 0x2A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2pd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpi2pd  xmm0, mm0}
     */
    // Template#: 2010, Serial#: 9539
    public void cvtpi2pd_r9539(AMD64XMMRegister destination, MMXRegister source) {
        assemble0499((byte) 0x2A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2pd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtpi2pd  xmm0, [L1: +305419896]}
     */
    // Template#: 2011, Serial#: 9516
    public void rip_cvtpi2pd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x2A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2pd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtpi2pd  xmm0, [L1: +305419896]}
     */
    // Template#: 2012, Serial#: 9525
    public void rip_cvtpi2pd_r9525(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x2A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2pd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtpi2pd  xmm0, [L1: +305419896]}
     */
    // Template#: 2013, Serial#: 9534
    public void rip_cvtpi2pd_r9534(AMD64XMMRegister destination, int rel32) {
        assemble0500((byte) 0x2A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2pd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpi2pd  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2014, Serial#: 9520
    public void cvtpi2pd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x2A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2pd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpi2pd  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2015, Serial#: 9529
    public void cvtpi2pd_r9529(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x2A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2pd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpi2pd  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2016, Serial#: 9538
    public void cvtpi2pd_r9538(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0501((byte) 0x2A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2pd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpi2pd  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2017, Serial#: 9515
    public void m_cvtpi2pd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x2A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2pd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpi2pd  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2018, Serial#: 9524
    public void m_cvtpi2pd_r9524(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x2A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2pd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpi2pd  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2019, Serial#: 9533
    public void m_cvtpi2pd_r9533(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0502((byte) 0x2A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2pd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpi2pd  xmm0, [rbx + 305419896]}
     */
    // Template#: 2020, Serial#: 9519
    public void cvtpi2pd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x2A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2pd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpi2pd  xmm0, [rbx + 305419896]}
     */
    // Template#: 2021, Serial#: 9528
    public void cvtpi2pd_r9528(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x2A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2pd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpi2pd  xmm0, [rbx + 305419896]}
     */
    // Template#: 2022, Serial#: 9537
    public void cvtpi2pd_r9537(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0503((byte) 0x2A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2ps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpi2ps  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2023, Serial#: 9359
    public void cvtpi2ps(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0190((byte) 0x2A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2ps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpi2ps  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2024, Serial#: 9368
    public void cvtpi2ps_r9368(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0191((byte) 0x2A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2ps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpi2ps  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2025, Serial#: 9377
    public void cvtpi2ps_r9377(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0504((byte) 0x2A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2ps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpi2ps  xmm0, [rbx + 18]}
     */
    // Template#: 2026, Serial#: 9358
    public void cvtpi2ps(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0192((byte) 0x2A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2ps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpi2ps  xmm0, [rbx + 18]}
     */
    // Template#: 2027, Serial#: 9367
    public void cvtpi2ps_r9367(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0193((byte) 0x2A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2ps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpi2ps  xmm0, [rbx + 18]}
     */
    // Template#: 2028, Serial#: 9376
    public void cvtpi2ps_r9376(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0505((byte) 0x2A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2ps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpi2ps  xmm0, rbx[rsi * 4]}
     */
    // Template#: 2029, Serial#: 9355
    public void cvtpi2ps(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0194((byte) 0x2A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2ps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpi2ps  xmm0, rbx[rsi * 4]}
     */
    // Template#: 2030, Serial#: 9364
    public void cvtpi2ps_r9364(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0195((byte) 0x2A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2ps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpi2ps  xmm0, rbx[rsi * 4]}
     */
    // Template#: 2031, Serial#: 9373
    public void cvtpi2ps_r9373(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0506((byte) 0x2A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2ps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpi2ps  xmm0, [rbx]}
     */
    // Template#: 2032, Serial#: 9354
    public void cvtpi2ps(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0196((byte) 0x2A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2ps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpi2ps  xmm0, [rbx]}
     */
    // Template#: 2033, Serial#: 9363
    public void cvtpi2ps_r9363(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0197((byte) 0x2A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2ps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpi2ps  xmm0, [rbx]}
     */
    // Template#: 2034, Serial#: 9372
    public void cvtpi2ps_r9372(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0507((byte) 0x2A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2ps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpi2ps  xmm0, mm0}
     */
    // Template#: 2035, Serial#: 9362
    public void cvtpi2ps(AMD64XMMRegister destination, MMXRegister source) {
        assemble0508((byte) 0x2A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2ps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpi2ps  xmm0, mm0}
     */
    // Template#: 2036, Serial#: 9371
    public void cvtpi2ps_r9371(AMD64XMMRegister destination, MMXRegister source) {
        assemble0509((byte) 0x2A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2ps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpi2ps  xmm0, mm0}
     */
    // Template#: 2037, Serial#: 9380
    public void cvtpi2ps_r9380(AMD64XMMRegister destination, MMXRegister source) {
        assemble0510((byte) 0x2A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2ps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtpi2ps  xmm0, [L1: +305419896]}
     */
    // Template#: 2038, Serial#: 9357
    public void rip_cvtpi2ps(AMD64XMMRegister destination, int rel32) {
        assemble0200((byte) 0x2A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2ps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtpi2ps  xmm0, [L1: +305419896]}
     */
    // Template#: 2039, Serial#: 9366
    public void rip_cvtpi2ps_r9366(AMD64XMMRegister destination, int rel32) {
        assemble0201((byte) 0x2A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2ps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtpi2ps  xmm0, [L1: +305419896]}
     */
    // Template#: 2040, Serial#: 9375
    public void rip_cvtpi2ps_r9375(AMD64XMMRegister destination, int rel32) {
        assemble0511((byte) 0x2A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2ps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpi2ps  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2041, Serial#: 9361
    public void cvtpi2ps(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0202((byte) 0x2A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2ps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpi2ps  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2042, Serial#: 9370
    public void cvtpi2ps_r9370(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0203((byte) 0x2A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2ps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpi2ps  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2043, Serial#: 9379
    public void cvtpi2ps_r9379(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0512((byte) 0x2A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2ps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpi2ps  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2044, Serial#: 9356
    public void m_cvtpi2ps(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0204((byte) 0x2A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2ps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpi2ps  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2045, Serial#: 9365
    public void m_cvtpi2ps_r9365(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0205((byte) 0x2A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2ps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtpi2ps  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2046, Serial#: 9374
    public void m_cvtpi2ps_r9374(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0513((byte) 0x2A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2ps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpi2ps  xmm0, [rbx + 305419896]}
     */
    // Template#: 2047, Serial#: 9360
    public void cvtpi2ps(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0206((byte) 0x2A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2ps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpi2ps  xmm0, [rbx + 305419896]}
     */
    // Template#: 2048, Serial#: 9369
    public void cvtpi2ps_r9369(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0207((byte) 0x2A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtpi2ps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtpi2ps  xmm0, [rbx + 305419896]}
     */
    // Template#: 2049, Serial#: 9378
    public void cvtpi2ps_r9378(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0514((byte) 0x2A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2dq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtps2dq  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2050, Serial#: 10163
    public void cvtps2dq(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x5B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2dq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtps2dq  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2051, Serial#: 10172
    public void cvtps2dq_r10172(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x5B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2dq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtps2dq  xmm0, [rbx + 18]}
     */
    // Template#: 2052, Serial#: 10162
    public void cvtps2dq(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x5B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2dq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtps2dq  xmm0, [rbx + 18]}
     */
    // Template#: 2053, Serial#: 10171
    public void cvtps2dq_r10171(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x5B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2dq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtps2dq  xmm0, rbx[rsi * 4]}
     */
    // Template#: 2054, Serial#: 10159
    public void cvtps2dq(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x5B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2dq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtps2dq  xmm0, rbx[rsi * 4]}
     */
    // Template#: 2055, Serial#: 10168
    public void cvtps2dq_r10168(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x5B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2dq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtps2dq  xmm0, [rbx]}
     */
    // Template#: 2056, Serial#: 10158
    public void cvtps2dq(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x5B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2dq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtps2dq  xmm0, [rbx]}
     */
    // Template#: 2057, Serial#: 10167
    public void cvtps2dq_r10167(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x5B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2dq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtps2dq  xmm0, xmm0}
     */
    // Template#: 2058, Serial#: 10166
    public void cvtps2dq(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x5B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2dq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtps2dq  xmm0, xmm0}
     */
    // Template#: 2059, Serial#: 10175
    public void cvtps2dq_r10175(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x5B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2dq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtps2dq  xmm0, [L1: +305419896]}
     */
    // Template#: 2060, Serial#: 10161
    public void rip_cvtps2dq(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x5B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2dq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtps2dq  xmm0, [L1: +305419896]}
     */
    // Template#: 2061, Serial#: 10170
    public void rip_cvtps2dq_r10170(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x5B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2dq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtps2dq  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2062, Serial#: 10165
    public void cvtps2dq(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x5B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2dq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtps2dq  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2063, Serial#: 10174
    public void cvtps2dq_r10174(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x5B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2dq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtps2dq  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2064, Serial#: 10160
    public void m_cvtps2dq(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x5B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2dq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtps2dq  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2065, Serial#: 10169
    public void m_cvtps2dq_r10169(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x5B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2dq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtps2dq  xmm0, [rbx + 305419896]}
     */
    // Template#: 2066, Serial#: 10164
    public void cvtps2dq(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x5B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2dq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtps2dq  xmm0, [rbx + 305419896]}
     */
    // Template#: 2067, Serial#: 10173
    public void cvtps2dq_r10173(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x5B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtps2pd  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2068, Serial#: 10001
    public void cvtps2pd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0190((byte) 0x5A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtps2pd  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2069, Serial#: 10010
    public void cvtps2pd_r10010(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0191((byte) 0x5A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtps2pd  xmm0, [rbx + 18]}
     */
    // Template#: 2070, Serial#: 10000
    public void cvtps2pd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0192((byte) 0x5A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtps2pd  xmm0, [rbx + 18]}
     */
    // Template#: 2071, Serial#: 10009
    public void cvtps2pd_r10009(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0193((byte) 0x5A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtps2pd  xmm0, rbx[rsi * 4]}
     */
    // Template#: 2072, Serial#: 9997
    public void cvtps2pd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0194((byte) 0x5A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtps2pd  xmm0, rbx[rsi * 4]}
     */
    // Template#: 2073, Serial#: 10006
    public void cvtps2pd_r10006(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0195((byte) 0x5A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtps2pd  xmm0, [rbx]}
     */
    // Template#: 2074, Serial#: 9996
    public void cvtps2pd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0196((byte) 0x5A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtps2pd  xmm0, [rbx]}
     */
    // Template#: 2075, Serial#: 10005
    public void cvtps2pd_r10005(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0197((byte) 0x5A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtps2pd  xmm0, xmm0}
     */
    // Template#: 2076, Serial#: 10004
    public void cvtps2pd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0198((byte) 0x5A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtps2pd  xmm0, xmm0}
     */
    // Template#: 2077, Serial#: 10013
    public void cvtps2pd_r10013(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0199((byte) 0x5A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtps2pd  xmm0, [L1: +305419896]}
     */
    // Template#: 2078, Serial#: 9999
    public void rip_cvtps2pd(AMD64XMMRegister destination, int rel32) {
        assemble0200((byte) 0x5A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtps2pd  xmm0, [L1: +305419896]}
     */
    // Template#: 2079, Serial#: 10008
    public void rip_cvtps2pd_r10008(AMD64XMMRegister destination, int rel32) {
        assemble0201((byte) 0x5A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtps2pd  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2080, Serial#: 10003
    public void cvtps2pd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0202((byte) 0x5A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtps2pd  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2081, Serial#: 10012
    public void cvtps2pd_r10012(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0203((byte) 0x5A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtps2pd  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2082, Serial#: 9998
    public void m_cvtps2pd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0204((byte) 0x5A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtps2pd  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2083, Serial#: 10007
    public void m_cvtps2pd_r10007(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0205((byte) 0x5A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtps2pd  xmm0, [rbx + 305419896]}
     */
    // Template#: 2084, Serial#: 10002
    public void cvtps2pd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0206((byte) 0x5A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtps2pd  xmm0, [rbx + 305419896]}
     */
    // Template#: 2085, Serial#: 10011
    public void cvtps2pd_r10011(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0207((byte) 0x5A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pi  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtps2pi  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2086, Serial#: 9428
    public void cvtps2pi(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0x2D, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pi  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtps2pi  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2087, Serial#: 9437
    public void cvtps2pi_r9437(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0x2D, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pi  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtps2pi  mm0, [rbx + 18]}
     */
    // Template#: 2088, Serial#: 9427
    public void cvtps2pi(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0x2D, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pi  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtps2pi  mm0, [rbx + 18]}
     */
    // Template#: 2089, Serial#: 9436
    public void cvtps2pi_r9436(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0x2D, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pi  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtps2pi  mm0, rbx[rsi * 4]}
     */
    // Template#: 2090, Serial#: 9424
    public void cvtps2pi(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0x2D, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pi  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtps2pi  mm0, rbx[rsi * 4]}
     */
    // Template#: 2091, Serial#: 9433
    public void cvtps2pi_r9433(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0x2D, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pi  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtps2pi  mm0, [rbx]}
     */
    // Template#: 2092, Serial#: 9423
    public void cvtps2pi(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0x2D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pi  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtps2pi  mm0, [rbx]}
     */
    // Template#: 2093, Serial#: 9432
    public void cvtps2pi_r9432(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0x2D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pi  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtps2pi  mm0, xmm0}
     */
    // Template#: 2094, Serial#: 9431
    public void cvtps2pi(MMXRegister destination, AMD64XMMRegister source) {
        assemble0523((byte) 0x2D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pi  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtps2pi  mm0, xmm0}
     */
    // Template#: 2095, Serial#: 9440
    public void cvtps2pi_r9440(MMXRegister destination, AMD64XMMRegister source) {
        assemble0524((byte) 0x2D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pi  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtps2pi  mm0, [L1: +305419896]}
     */
    // Template#: 2096, Serial#: 9426
    public void rip_cvtps2pi(MMXRegister destination, int rel32) {
        assemble0525((byte) 0x2D, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pi  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtps2pi  mm0, [L1: +305419896]}
     */
    // Template#: 2097, Serial#: 9435
    public void rip_cvtps2pi_r9435(MMXRegister destination, int rel32) {
        assemble0526((byte) 0x2D, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pi  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtps2pi  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2098, Serial#: 9430
    public void cvtps2pi(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0x2D, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pi  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtps2pi  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2099, Serial#: 9439
    public void cvtps2pi_r9439(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0x2D, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pi  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtps2pi  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2100, Serial#: 9425
    public void m_cvtps2pi(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0x2D, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pi  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtps2pi  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2101, Serial#: 9434
    public void m_cvtps2pi_r9434(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0x2D, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pi  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtps2pi  mm0, [rbx + 305419896]}
     */
    // Template#: 2102, Serial#: 9429
    public void cvtps2pi(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0x2D, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtps2pi  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtps2pi  mm0, [rbx + 305419896]}
     */
    // Template#: 2103, Serial#: 9438
    public void cvtps2pi_r9438(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0x2D, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2si  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsd2si  eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 2104, Serial#: 9677
    public void cvtsd2si(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0533((byte) 0x2D, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2si  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsd2si  eax, [rbx + 18]}
     */
    // Template#: 2105, Serial#: 9676
    public void cvtsd2si(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0534((byte) 0x2D, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2si  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsd2si  eax, rbx[rsi * 4]}
     */
    // Template#: 2106, Serial#: 9673
    public void cvtsd2si(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0535((byte) 0x2D, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2si  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsd2si  eax, [rbx]}
     */
    // Template#: 2107, Serial#: 9672
    public void cvtsd2si(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0536((byte) 0x2D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2si  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsd2si  eax, xmm0}
     */
    // Template#: 2108, Serial#: 9680
    public void cvtsd2si(AMD64GeneralRegister32 destination, AMD64XMMRegister source) {
        assemble0537((byte) 0x2D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2si  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtsd2si  eax, [L1: +305419896]}
     */
    // Template#: 2109, Serial#: 9675
    public void rip_cvtsd2si(AMD64GeneralRegister32 destination, int rel32) {
        assemble0538((byte) 0x2D, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2si  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsd2si  eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2110, Serial#: 9679
    public void cvtsd2si(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0539((byte) 0x2D, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2si  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsd2si  eax, 0x12345678[rsi * 4]}
     */
    // Template#: 2111, Serial#: 9674
    public void m_cvtsd2si(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0540((byte) 0x2D, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2si  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsd2si  eax, [rbx + 305419896]}
     */
    // Template#: 2112, Serial#: 9678
    public void cvtsd2si(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0541((byte) 0x2D, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2si  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsd2si  rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 2113, Serial#: 9686
    public void cvtsd2si(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0542((byte) 0x2D, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2si  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsd2si  rax, [rbx + 18]}
     */
    // Template#: 2114, Serial#: 9685
    public void cvtsd2si(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0543((byte) 0x2D, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2si  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsd2si  rax, rbx[rsi * 4]}
     */
    // Template#: 2115, Serial#: 9682
    public void cvtsd2si(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0544((byte) 0x2D, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2si  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsd2si  rax, [rbx]}
     */
    // Template#: 2116, Serial#: 9681
    public void cvtsd2si(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0545((byte) 0x2D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2si  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsd2si  rax, xmm0}
     */
    // Template#: 2117, Serial#: 9689
    public void cvtsd2si(AMD64GeneralRegister64 destination, AMD64XMMRegister source) {
        assemble0546((byte) 0x2D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2si  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtsd2si  rax, [L1: +305419896]}
     */
    // Template#: 2118, Serial#: 9684
    public void rip_cvtsd2si(AMD64GeneralRegister64 destination, int rel32) {
        assemble0547((byte) 0x2D, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2si  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsd2si  rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2119, Serial#: 9688
    public void cvtsd2si(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0548((byte) 0x2D, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2si  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsd2si  rax, 0x12345678[rsi * 4]}
     */
    // Template#: 2120, Serial#: 9683
    public void m_cvtsd2si(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0549((byte) 0x2D, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2si  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsd2si  rax, [rbx + 305419896]}
     */
    // Template#: 2121, Serial#: 9687
    public void cvtsd2si(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0550((byte) 0x2D, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2ss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsd2ss  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2122, Serial#: 10289
    public void cvtsd2ss(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0211((byte) 0x5A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2ss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsd2ss  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2123, Serial#: 10298
    public void cvtsd2ss_r10298(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0212((byte) 0x5A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2ss  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsd2ss  xmm0, [rbx + 18]}
     */
    // Template#: 2124, Serial#: 10288
    public void cvtsd2ss(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0213((byte) 0x5A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2ss  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsd2ss  xmm0, [rbx + 18]}
     */
    // Template#: 2125, Serial#: 10297
    public void cvtsd2ss_r10297(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0214((byte) 0x5A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2ss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsd2ss  xmm0, rbx[rsi * 4]}
     */
    // Template#: 2126, Serial#: 10285
    public void cvtsd2ss(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0215((byte) 0x5A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2ss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsd2ss  xmm0, rbx[rsi * 4]}
     */
    // Template#: 2127, Serial#: 10294
    public void cvtsd2ss_r10294(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0216((byte) 0x5A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2ss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsd2ss  xmm0, [rbx]}
     */
    // Template#: 2128, Serial#: 10284
    public void cvtsd2ss(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0217((byte) 0x5A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2ss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsd2ss  xmm0, [rbx]}
     */
    // Template#: 2129, Serial#: 10293
    public void cvtsd2ss_r10293(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0218((byte) 0x5A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2ss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsd2ss  xmm0, xmm0}
     */
    // Template#: 2130, Serial#: 10292
    public void cvtsd2ss(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0219((byte) 0x5A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2ss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsd2ss  xmm0, xmm0}
     */
    // Template#: 2131, Serial#: 10301
    public void cvtsd2ss_r10301(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0220((byte) 0x5A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2ss  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtsd2ss  xmm0, [L1: +305419896]}
     */
    // Template#: 2132, Serial#: 10287
    public void rip_cvtsd2ss(AMD64XMMRegister destination, int rel32) {
        assemble0221((byte) 0x5A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2ss  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtsd2ss  xmm0, [L1: +305419896]}
     */
    // Template#: 2133, Serial#: 10296
    public void rip_cvtsd2ss_r10296(AMD64XMMRegister destination, int rel32) {
        assemble0222((byte) 0x5A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2ss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsd2ss  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2134, Serial#: 10291
    public void cvtsd2ss(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0223((byte) 0x5A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2ss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsd2ss  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2135, Serial#: 10300
    public void cvtsd2ss_r10300(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0224((byte) 0x5A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2ss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsd2ss  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2136, Serial#: 10286
    public void m_cvtsd2ss(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0225((byte) 0x5A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2ss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsd2ss  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2137, Serial#: 10295
    public void m_cvtsd2ss_r10295(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0226((byte) 0x5A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2ss  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsd2ss  xmm0, [rbx + 305419896]}
     */
    // Template#: 2138, Serial#: 10290
    public void cvtsd2ss(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0227((byte) 0x5A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsd2ss  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsd2ss  xmm0, [rbx + 305419896]}
     */
    // Template#: 2139, Serial#: 10299
    public void cvtsd2ss_r10299(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0228((byte) 0x5A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2sdl  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsi2sdl  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2140, Serial#: 9641
    public void cvtsi2sdl(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0211((byte) 0x2A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2sdq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsi2sdq  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2141, Serial#: 9650
    public void cvtsi2sdq(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0212((byte) 0x2A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2sdl  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsi2sdl  xmm0, [rbx + 18]}
     */
    // Template#: 2142, Serial#: 9640
    public void cvtsi2sdl(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0213((byte) 0x2A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2sdq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsi2sdq  xmm0, [rbx + 18]}
     */
    // Template#: 2143, Serial#: 9649
    public void cvtsi2sdq(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0214((byte) 0x2A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2sdl  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsi2sdl  xmm0, rbx[rsi * 4]}
     */
    // Template#: 2144, Serial#: 9637
    public void cvtsi2sdl(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0215((byte) 0x2A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2sdq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsi2sdq  xmm0, rbx[rsi * 4]}
     */
    // Template#: 2145, Serial#: 9646
    public void cvtsi2sdq(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0216((byte) 0x2A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2sdl  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsi2sdl  xmm0, eax}
     */
    // Template#: 2146, Serial#: 9644
    public void cvtsi2sdl(AMD64XMMRegister destination, AMD64GeneralRegister32 source) {
        assemble0551((byte) 0x2A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2sdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsi2sdq  xmm0, rax}
     */
    // Template#: 2147, Serial#: 9653
    public void cvtsi2sdq(AMD64XMMRegister destination, AMD64GeneralRegister64 source) {
        assemble0552((byte) 0x2A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2sdl  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsi2sdl  xmm0, [rbx]}
     */
    // Template#: 2148, Serial#: 9636
    public void cvtsi2sdl(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0217((byte) 0x2A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2sdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsi2sdq  xmm0, [rbx]}
     */
    // Template#: 2149, Serial#: 9645
    public void cvtsi2sdq(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0218((byte) 0x2A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2sdl  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtsi2sdl  xmm0, [L1: +305419896]}
     */
    // Template#: 2150, Serial#: 9639
    public void rip_cvtsi2sdl(AMD64XMMRegister destination, int rel32) {
        assemble0221((byte) 0x2A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2sdq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtsi2sdq  xmm0, [L1: +305419896]}
     */
    // Template#: 2151, Serial#: 9648
    public void rip_cvtsi2sdq(AMD64XMMRegister destination, int rel32) {
        assemble0222((byte) 0x2A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2sdl  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsi2sdl  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2152, Serial#: 9643
    public void cvtsi2sdl(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0223((byte) 0x2A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2sdq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsi2sdq  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2153, Serial#: 9652
    public void cvtsi2sdq(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0224((byte) 0x2A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2sdl  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsi2sdl  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2154, Serial#: 9638
    public void m_cvtsi2sdl(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0225((byte) 0x2A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2sdq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsi2sdq  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2155, Serial#: 9647
    public void m_cvtsi2sdq(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0226((byte) 0x2A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2sdl  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsi2sdl  xmm0, [rbx + 305419896]}
     */
    // Template#: 2156, Serial#: 9642
    public void cvtsi2sdl(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0227((byte) 0x2A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2sdq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsi2sdq  xmm0, [rbx + 305419896]}
     */
    // Template#: 2157, Serial#: 9651
    public void cvtsi2sdq(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0228((byte) 0x2A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2ssl  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsi2ssl  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2158, Serial#: 9695
    public void cvtsi2ssl(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0229((byte) 0x2A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2ssq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsi2ssq  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2159, Serial#: 9704
    public void cvtsi2ssq(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0230((byte) 0x2A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2ssl  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsi2ssl  xmm0, [rbx + 18]}
     */
    // Template#: 2160, Serial#: 9694
    public void cvtsi2ssl(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0231((byte) 0x2A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2ssq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsi2ssq  xmm0, [rbx + 18]}
     */
    // Template#: 2161, Serial#: 9703
    public void cvtsi2ssq(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0232((byte) 0x2A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2ssl  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsi2ssl  xmm0, rbx[rsi * 4]}
     */
    // Template#: 2162, Serial#: 9691
    public void cvtsi2ssl(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0233((byte) 0x2A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2ssq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsi2ssq  xmm0, rbx[rsi * 4]}
     */
    // Template#: 2163, Serial#: 9700
    public void cvtsi2ssq(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0234((byte) 0x2A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2ssl  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsi2ssl  xmm0, eax}
     */
    // Template#: 2164, Serial#: 9698
    public void cvtsi2ssl(AMD64XMMRegister destination, AMD64GeneralRegister32 source) {
        assemble0553((byte) 0x2A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2ssq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsi2ssq  xmm0, rax}
     */
    // Template#: 2165, Serial#: 9707
    public void cvtsi2ssq(AMD64XMMRegister destination, AMD64GeneralRegister64 source) {
        assemble0554((byte) 0x2A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2ssl  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsi2ssl  xmm0, [rbx]}
     */
    // Template#: 2166, Serial#: 9690
    public void cvtsi2ssl(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0235((byte) 0x2A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2ssq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsi2ssq  xmm0, [rbx]}
     */
    // Template#: 2167, Serial#: 9699
    public void cvtsi2ssq(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0236((byte) 0x2A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2ssl  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtsi2ssl  xmm0, [L1: +305419896]}
     */
    // Template#: 2168, Serial#: 9693
    public void rip_cvtsi2ssl(AMD64XMMRegister destination, int rel32) {
        assemble0239((byte) 0x2A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2ssq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtsi2ssq  xmm0, [L1: +305419896]}
     */
    // Template#: 2169, Serial#: 9702
    public void rip_cvtsi2ssq(AMD64XMMRegister destination, int rel32) {
        assemble0240((byte) 0x2A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2ssl  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsi2ssl  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2170, Serial#: 9697
    public void cvtsi2ssl(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0241((byte) 0x2A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2ssq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsi2ssq  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2171, Serial#: 9706
    public void cvtsi2ssq(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0242((byte) 0x2A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2ssl  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsi2ssl  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2172, Serial#: 9692
    public void m_cvtsi2ssl(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0243((byte) 0x2A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2ssq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtsi2ssq  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2173, Serial#: 9701
    public void m_cvtsi2ssq(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0244((byte) 0x2A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2ssl  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsi2ssl  xmm0, [rbx + 305419896]}
     */
    // Template#: 2174, Serial#: 9696
    public void cvtsi2ssl(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0245((byte) 0x2A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtsi2ssq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtsi2ssq  xmm0, [rbx + 305419896]}
     */
    // Template#: 2175, Serial#: 9705
    public void cvtsi2ssq(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0246((byte) 0x2A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2sd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtss2sd  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2176, Serial#: 10415
    public void cvtss2sd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0229((byte) 0x5A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2sd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtss2sd  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2177, Serial#: 10424
    public void cvtss2sd_r10424(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0230((byte) 0x5A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2sd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtss2sd  xmm0, [rbx + 18]}
     */
    // Template#: 2178, Serial#: 10414
    public void cvtss2sd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0231((byte) 0x5A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2sd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtss2sd  xmm0, [rbx + 18]}
     */
    // Template#: 2179, Serial#: 10423
    public void cvtss2sd_r10423(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0232((byte) 0x5A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2sd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtss2sd  xmm0, rbx[rsi * 4]}
     */
    // Template#: 2180, Serial#: 10411
    public void cvtss2sd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0233((byte) 0x5A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2sd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtss2sd  xmm0, rbx[rsi * 4]}
     */
    // Template#: 2181, Serial#: 10420
    public void cvtss2sd_r10420(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0234((byte) 0x5A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2sd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtss2sd  xmm0, [rbx]}
     */
    // Template#: 2182, Serial#: 10410
    public void cvtss2sd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0235((byte) 0x5A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2sd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtss2sd  xmm0, [rbx]}
     */
    // Template#: 2183, Serial#: 10419
    public void cvtss2sd_r10419(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0236((byte) 0x5A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2sd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtss2sd  xmm0, xmm0}
     */
    // Template#: 2184, Serial#: 10418
    public void cvtss2sd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0237((byte) 0x5A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2sd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtss2sd  xmm0, xmm0}
     */
    // Template#: 2185, Serial#: 10427
    public void cvtss2sd_r10427(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0238((byte) 0x5A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2sd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtss2sd  xmm0, [L1: +305419896]}
     */
    // Template#: 2186, Serial#: 10413
    public void rip_cvtss2sd(AMD64XMMRegister destination, int rel32) {
        assemble0239((byte) 0x5A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2sd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtss2sd  xmm0, [L1: +305419896]}
     */
    // Template#: 2187, Serial#: 10422
    public void rip_cvtss2sd_r10422(AMD64XMMRegister destination, int rel32) {
        assemble0240((byte) 0x5A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2sd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtss2sd  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2188, Serial#: 10417
    public void cvtss2sd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0241((byte) 0x5A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2sd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtss2sd  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2189, Serial#: 10426
    public void cvtss2sd_r10426(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0242((byte) 0x5A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2sd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtss2sd  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2190, Serial#: 10412
    public void m_cvtss2sd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0243((byte) 0x5A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2sd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtss2sd  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2191, Serial#: 10421
    public void m_cvtss2sd_r10421(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0244((byte) 0x5A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2sd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtss2sd  xmm0, [rbx + 305419896]}
     */
    // Template#: 2192, Serial#: 10416
    public void cvtss2sd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0245((byte) 0x5A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2sd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtss2sd  xmm0, [rbx + 305419896]}
     */
    // Template#: 2193, Serial#: 10425
    public void cvtss2sd_r10425(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0246((byte) 0x5A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2si  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtss2si  eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 2194, Serial#: 9731
    public void cvtss2si(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0555((byte) 0x2D, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2si  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtss2si  eax, [rbx + 18]}
     */
    // Template#: 2195, Serial#: 9730
    public void cvtss2si(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0556((byte) 0x2D, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2si  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtss2si  eax, rbx[rsi * 4]}
     */
    // Template#: 2196, Serial#: 9727
    public void cvtss2si(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0557((byte) 0x2D, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2si  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtss2si  eax, [rbx]}
     */
    // Template#: 2197, Serial#: 9726
    public void cvtss2si(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0558((byte) 0x2D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2si  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtss2si  eax, xmm0}
     */
    // Template#: 2198, Serial#: 9734
    public void cvtss2si(AMD64GeneralRegister32 destination, AMD64XMMRegister source) {
        assemble0559((byte) 0x2D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2si  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtss2si  eax, [L1: +305419896]}
     */
    // Template#: 2199, Serial#: 9729
    public void rip_cvtss2si(AMD64GeneralRegister32 destination, int rel32) {
        assemble0560((byte) 0x2D, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2si  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtss2si  eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2200, Serial#: 9733
    public void cvtss2si(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0561((byte) 0x2D, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2si  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtss2si  eax, 0x12345678[rsi * 4]}
     */
    // Template#: 2201, Serial#: 9728
    public void m_cvtss2si(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0562((byte) 0x2D, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2si  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtss2si  eax, [rbx + 305419896]}
     */
    // Template#: 2202, Serial#: 9732
    public void cvtss2si(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0563((byte) 0x2D, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2si  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtss2si  rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 2203, Serial#: 9740
    public void cvtss2si(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0564((byte) 0x2D, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2si  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtss2si  rax, [rbx + 18]}
     */
    // Template#: 2204, Serial#: 9739
    public void cvtss2si(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0565((byte) 0x2D, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2si  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtss2si  rax, rbx[rsi * 4]}
     */
    // Template#: 2205, Serial#: 9736
    public void cvtss2si(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0566((byte) 0x2D, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2si  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtss2si  rax, [rbx]}
     */
    // Template#: 2206, Serial#: 9735
    public void cvtss2si(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0567((byte) 0x2D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2si  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtss2si  rax, xmm0}
     */
    // Template#: 2207, Serial#: 9743
    public void cvtss2si(AMD64GeneralRegister64 destination, AMD64XMMRegister source) {
        assemble0568((byte) 0x2D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2si  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvtss2si  rax, [L1: +305419896]}
     */
    // Template#: 2208, Serial#: 9738
    public void rip_cvtss2si(AMD64GeneralRegister64 destination, int rel32) {
        assemble0569((byte) 0x2D, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2si  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtss2si  rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2209, Serial#: 9742
    public void cvtss2si(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0570((byte) 0x2D, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2si  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvtss2si  rax, 0x12345678[rsi * 4]}
     */
    // Template#: 2210, Serial#: 9737
    public void m_cvtss2si(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0571((byte) 0x2D, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvtss2si  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvtss2si  rax, [rbx + 305419896]}
     */
    // Template#: 2211, Serial#: 9741
    public void cvtss2si(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0572((byte) 0x2D, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2dq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttpd2dq  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2212, Serial#: 8744
    public void cvttpd2dq(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xE6, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2dq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttpd2dq  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2213, Serial#: 8753
    public void cvttpd2dq_r8753(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xE6, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2dq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttpd2dq  xmm0, [rbx + 18]}
     */
    // Template#: 2214, Serial#: 8743
    public void cvttpd2dq(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xE6, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2dq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttpd2dq  xmm0, [rbx + 18]}
     */
    // Template#: 2215, Serial#: 8752
    public void cvttpd2dq_r8752(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xE6, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2dq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttpd2dq  xmm0, rbx[rsi * 4]}
     */
    // Template#: 2216, Serial#: 8740
    public void cvttpd2dq(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xE6, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2dq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttpd2dq  xmm0, rbx[rsi * 4]}
     */
    // Template#: 2217, Serial#: 8749
    public void cvttpd2dq_r8749(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xE6, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2dq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttpd2dq  xmm0, [rbx]}
     */
    // Template#: 2218, Serial#: 8739
    public void cvttpd2dq(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xE6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2dq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttpd2dq  xmm0, [rbx]}
     */
    // Template#: 2219, Serial#: 8748
    public void cvttpd2dq_r8748(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xE6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2dq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttpd2dq  xmm0, xmm0}
     */
    // Template#: 2220, Serial#: 8747
    public void cvttpd2dq(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xE6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2dq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttpd2dq  xmm0, xmm0}
     */
    // Template#: 2221, Serial#: 8756
    public void cvttpd2dq_r8756(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xE6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2dq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvttpd2dq  xmm0, [L1: +305419896]}
     */
    // Template#: 2222, Serial#: 8742
    public void rip_cvttpd2dq(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xE6, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2dq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvttpd2dq  xmm0, [L1: +305419896]}
     */
    // Template#: 2223, Serial#: 8751
    public void rip_cvttpd2dq_r8751(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xE6, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2dq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttpd2dq  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2224, Serial#: 8746
    public void cvttpd2dq(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xE6, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2dq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttpd2dq  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2225, Serial#: 8755
    public void cvttpd2dq_r8755(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xE6, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2dq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttpd2dq  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2226, Serial#: 8741
    public void m_cvttpd2dq(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xE6, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2dq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttpd2dq  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2227, Serial#: 8750
    public void m_cvttpd2dq_r8750(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xE6, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2dq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttpd2dq  xmm0, [rbx + 305419896]}
     */
    // Template#: 2228, Serial#: 8745
    public void cvttpd2dq(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xE6, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2dq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttpd2dq  xmm0, [rbx + 305419896]}
     */
    // Template#: 2229, Serial#: 8754
    public void cvttpd2dq_r8754(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xE6, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2pi  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttpd2pi  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2230, Serial#: 9569
    public void cvttpd2pi(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0475((byte) 0x2C, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2pi  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttpd2pi  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2231, Serial#: 9578
    public void cvttpd2pi_r9578(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0476((byte) 0x2C, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2pi  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttpd2pi  mm0, [rbx + 18]}
     */
    // Template#: 2232, Serial#: 9568
    public void cvttpd2pi(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0477((byte) 0x2C, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2pi  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttpd2pi  mm0, [rbx + 18]}
     */
    // Template#: 2233, Serial#: 9577
    public void cvttpd2pi_r9577(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0478((byte) 0x2C, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2pi  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttpd2pi  mm0, rbx[rsi * 4]}
     */
    // Template#: 2234, Serial#: 9565
    public void cvttpd2pi(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0479((byte) 0x2C, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2pi  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttpd2pi  mm0, rbx[rsi * 4]}
     */
    // Template#: 2235, Serial#: 9574
    public void cvttpd2pi_r9574(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0480((byte) 0x2C, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2pi  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttpd2pi  mm0, [rbx]}
     */
    // Template#: 2236, Serial#: 9564
    public void cvttpd2pi(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0481((byte) 0x2C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2pi  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttpd2pi  mm0, [rbx]}
     */
    // Template#: 2237, Serial#: 9573
    public void cvttpd2pi_r9573(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0482((byte) 0x2C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2pi  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttpd2pi  mm0, xmm0}
     */
    // Template#: 2238, Serial#: 9572
    public void cvttpd2pi(MMXRegister destination, AMD64XMMRegister source) {
        assemble0483((byte) 0x2C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2pi  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttpd2pi  mm0, xmm0}
     */
    // Template#: 2239, Serial#: 9581
    public void cvttpd2pi_r9581(MMXRegister destination, AMD64XMMRegister source) {
        assemble0484((byte) 0x2C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2pi  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvttpd2pi  mm0, [L1: +305419896]}
     */
    // Template#: 2240, Serial#: 9567
    public void rip_cvttpd2pi(MMXRegister destination, int rel32) {
        assemble0485((byte) 0x2C, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2pi  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvttpd2pi  mm0, [L1: +305419896]}
     */
    // Template#: 2241, Serial#: 9576
    public void rip_cvttpd2pi_r9576(MMXRegister destination, int rel32) {
        assemble0486((byte) 0x2C, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2pi  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttpd2pi  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2242, Serial#: 9571
    public void cvttpd2pi(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0487((byte) 0x2C, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2pi  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttpd2pi  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2243, Serial#: 9580
    public void cvttpd2pi_r9580(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0488((byte) 0x2C, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2pi  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttpd2pi  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2244, Serial#: 9566
    public void m_cvttpd2pi(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0489((byte) 0x2C, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2pi  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttpd2pi  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2245, Serial#: 9575
    public void m_cvttpd2pi_r9575(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0490((byte) 0x2C, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2pi  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttpd2pi  mm0, [rbx + 305419896]}
     */
    // Template#: 2246, Serial#: 9570
    public void cvttpd2pi(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0491((byte) 0x2C, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttpd2pi  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttpd2pi  mm0, [rbx + 305419896]}
     */
    // Template#: 2247, Serial#: 9579
    public void cvttpd2pi_r9579(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0492((byte) 0x2C, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2dq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttps2dq  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2248, Serial#: 10433
    public void cvttps2dq(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0229((byte) 0x5B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2dq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttps2dq  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2249, Serial#: 10442
    public void cvttps2dq_r10442(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0230((byte) 0x5B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2dq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttps2dq  xmm0, [rbx + 18]}
     */
    // Template#: 2250, Serial#: 10432
    public void cvttps2dq(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0231((byte) 0x5B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2dq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttps2dq  xmm0, [rbx + 18]}
     */
    // Template#: 2251, Serial#: 10441
    public void cvttps2dq_r10441(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0232((byte) 0x5B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2dq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttps2dq  xmm0, rbx[rsi * 4]}
     */
    // Template#: 2252, Serial#: 10429
    public void cvttps2dq(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0233((byte) 0x5B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2dq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttps2dq  xmm0, rbx[rsi * 4]}
     */
    // Template#: 2253, Serial#: 10438
    public void cvttps2dq_r10438(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0234((byte) 0x5B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2dq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttps2dq  xmm0, [rbx]}
     */
    // Template#: 2254, Serial#: 10428
    public void cvttps2dq(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0235((byte) 0x5B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2dq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttps2dq  xmm0, [rbx]}
     */
    // Template#: 2255, Serial#: 10437
    public void cvttps2dq_r10437(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0236((byte) 0x5B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2dq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttps2dq  xmm0, xmm0}
     */
    // Template#: 2256, Serial#: 10436
    public void cvttps2dq(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0237((byte) 0x5B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2dq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttps2dq  xmm0, xmm0}
     */
    // Template#: 2257, Serial#: 10445
    public void cvttps2dq_r10445(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0238((byte) 0x5B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2dq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvttps2dq  xmm0, [L1: +305419896]}
     */
    // Template#: 2258, Serial#: 10431
    public void rip_cvttps2dq(AMD64XMMRegister destination, int rel32) {
        assemble0239((byte) 0x5B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2dq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvttps2dq  xmm0, [L1: +305419896]}
     */
    // Template#: 2259, Serial#: 10440
    public void rip_cvttps2dq_r10440(AMD64XMMRegister destination, int rel32) {
        assemble0240((byte) 0x5B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2dq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttps2dq  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2260, Serial#: 10435
    public void cvttps2dq(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0241((byte) 0x5B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2dq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttps2dq  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2261, Serial#: 10444
    public void cvttps2dq_r10444(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0242((byte) 0x5B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2dq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttps2dq  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2262, Serial#: 10430
    public void m_cvttps2dq(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0243((byte) 0x5B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2dq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttps2dq  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2263, Serial#: 10439
    public void m_cvttps2dq_r10439(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0244((byte) 0x5B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2dq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttps2dq  xmm0, [rbx + 305419896]}
     */
    // Template#: 2264, Serial#: 10434
    public void cvttps2dq(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0245((byte) 0x5B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2dq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttps2dq  xmm0, [rbx + 305419896]}
     */
    // Template#: 2265, Serial#: 10443
    public void cvttps2dq_r10443(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0246((byte) 0x5B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2pi  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttps2pi  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2266, Serial#: 9410
    public void cvttps2pi(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0x2C, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2pi  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttps2pi  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2267, Serial#: 9419
    public void cvttps2pi_r9419(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0x2C, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2pi  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttps2pi  mm0, [rbx + 18]}
     */
    // Template#: 2268, Serial#: 9409
    public void cvttps2pi(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0x2C, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2pi  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttps2pi  mm0, [rbx + 18]}
     */
    // Template#: 2269, Serial#: 9418
    public void cvttps2pi_r9418(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0x2C, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2pi  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttps2pi  mm0, rbx[rsi * 4]}
     */
    // Template#: 2270, Serial#: 9406
    public void cvttps2pi(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0x2C, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2pi  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttps2pi  mm0, rbx[rsi * 4]}
     */
    // Template#: 2271, Serial#: 9415
    public void cvttps2pi_r9415(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0x2C, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2pi  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttps2pi  mm0, [rbx]}
     */
    // Template#: 2272, Serial#: 9405
    public void cvttps2pi(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0x2C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2pi  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttps2pi  mm0, [rbx]}
     */
    // Template#: 2273, Serial#: 9414
    public void cvttps2pi_r9414(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0x2C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2pi  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttps2pi  mm0, xmm0}
     */
    // Template#: 2274, Serial#: 9413
    public void cvttps2pi(MMXRegister destination, AMD64XMMRegister source) {
        assemble0523((byte) 0x2C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2pi  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttps2pi  mm0, xmm0}
     */
    // Template#: 2275, Serial#: 9422
    public void cvttps2pi_r9422(MMXRegister destination, AMD64XMMRegister source) {
        assemble0524((byte) 0x2C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2pi  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvttps2pi  mm0, [L1: +305419896]}
     */
    // Template#: 2276, Serial#: 9408
    public void rip_cvttps2pi(MMXRegister destination, int rel32) {
        assemble0525((byte) 0x2C, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2pi  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvttps2pi  mm0, [L1: +305419896]}
     */
    // Template#: 2277, Serial#: 9417
    public void rip_cvttps2pi_r9417(MMXRegister destination, int rel32) {
        assemble0526((byte) 0x2C, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2pi  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttps2pi  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2278, Serial#: 9412
    public void cvttps2pi(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0x2C, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2pi  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttps2pi  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2279, Serial#: 9421
    public void cvttps2pi_r9421(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0x2C, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2pi  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttps2pi  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2280, Serial#: 9407
    public void m_cvttps2pi(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0x2C, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2pi  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttps2pi  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2281, Serial#: 9416
    public void m_cvttps2pi_r9416(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0x2C, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2pi  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttps2pi  mm0, [rbx + 305419896]}
     */
    // Template#: 2282, Serial#: 9411
    public void cvttps2pi(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0x2C, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttps2pi  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttps2pi  mm0, [rbx + 305419896]}
     */
    // Template#: 2283, Serial#: 9420
    public void cvttps2pi_r9420(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0x2C, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttsd2si  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttsd2si  eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 2284, Serial#: 9659
    public void cvttsd2si(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0533((byte) 0x2C, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttsd2si  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttsd2si  eax, [rbx + 18]}
     */
    // Template#: 2285, Serial#: 9658
    public void cvttsd2si(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0534((byte) 0x2C, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttsd2si  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttsd2si  eax, rbx[rsi * 4]}
     */
    // Template#: 2286, Serial#: 9655
    public void cvttsd2si(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0535((byte) 0x2C, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttsd2si  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttsd2si  eax, [rbx]}
     */
    // Template#: 2287, Serial#: 9654
    public void cvttsd2si(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0536((byte) 0x2C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttsd2si  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttsd2si  eax, xmm0}
     */
    // Template#: 2288, Serial#: 9662
    public void cvttsd2si(AMD64GeneralRegister32 destination, AMD64XMMRegister source) {
        assemble0537((byte) 0x2C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttsd2si  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvttsd2si  eax, [L1: +305419896]}
     */
    // Template#: 2289, Serial#: 9657
    public void rip_cvttsd2si(AMD64GeneralRegister32 destination, int rel32) {
        assemble0538((byte) 0x2C, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttsd2si  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttsd2si  eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2290, Serial#: 9661
    public void cvttsd2si(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0539((byte) 0x2C, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttsd2si  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttsd2si  eax, 0x12345678[rsi * 4]}
     */
    // Template#: 2291, Serial#: 9656
    public void m_cvttsd2si(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0540((byte) 0x2C, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttsd2si  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttsd2si  eax, [rbx + 305419896]}
     */
    // Template#: 2292, Serial#: 9660
    public void cvttsd2si(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0541((byte) 0x2C, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttsd2si  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttsd2si  rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 2293, Serial#: 9668
    public void cvttsd2si(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0542((byte) 0x2C, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttsd2si  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttsd2si  rax, [rbx + 18]}
     */
    // Template#: 2294, Serial#: 9667
    public void cvttsd2si(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0543((byte) 0x2C, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttsd2si  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttsd2si  rax, rbx[rsi * 4]}
     */
    // Template#: 2295, Serial#: 9664
    public void cvttsd2si(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0544((byte) 0x2C, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttsd2si  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttsd2si  rax, [rbx]}
     */
    // Template#: 2296, Serial#: 9663
    public void cvttsd2si(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0545((byte) 0x2C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttsd2si  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttsd2si  rax, xmm0}
     */
    // Template#: 2297, Serial#: 9671
    public void cvttsd2si(AMD64GeneralRegister64 destination, AMD64XMMRegister source) {
        assemble0546((byte) 0x2C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttsd2si  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvttsd2si  rax, [L1: +305419896]}
     */
    // Template#: 2298, Serial#: 9666
    public void rip_cvttsd2si(AMD64GeneralRegister64 destination, int rel32) {
        assemble0547((byte) 0x2C, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttsd2si  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttsd2si  rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2299, Serial#: 9670
    public void cvttsd2si(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0548((byte) 0x2C, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttsd2si  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttsd2si  rax, 0x12345678[rsi * 4]}
     */
    // Template#: 2300, Serial#: 9665
    public void m_cvttsd2si(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0549((byte) 0x2C, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttsd2si  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttsd2si  rax, [rbx + 305419896]}
     */
    // Template#: 2301, Serial#: 9669
    public void cvttsd2si(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0550((byte) 0x2C, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttss2si  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttss2si  eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 2302, Serial#: 9713
    public void cvttss2si(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0555((byte) 0x2C, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttss2si  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttss2si  eax, [rbx + 18]}
     */
    // Template#: 2303, Serial#: 9712
    public void cvttss2si(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0556((byte) 0x2C, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttss2si  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttss2si  eax, rbx[rsi * 4]}
     */
    // Template#: 2304, Serial#: 9709
    public void cvttss2si(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0557((byte) 0x2C, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttss2si  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttss2si  eax, [rbx]}
     */
    // Template#: 2305, Serial#: 9708
    public void cvttss2si(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0558((byte) 0x2C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttss2si  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttss2si  eax, xmm0}
     */
    // Template#: 2306, Serial#: 9716
    public void cvttss2si(AMD64GeneralRegister32 destination, AMD64XMMRegister source) {
        assemble0559((byte) 0x2C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttss2si  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvttss2si  eax, [L1: +305419896]}
     */
    // Template#: 2307, Serial#: 9711
    public void rip_cvttss2si(AMD64GeneralRegister32 destination, int rel32) {
        assemble0560((byte) 0x2C, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttss2si  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttss2si  eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2308, Serial#: 9715
    public void cvttss2si(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0561((byte) 0x2C, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttss2si  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttss2si  eax, 0x12345678[rsi * 4]}
     */
    // Template#: 2309, Serial#: 9710
    public void m_cvttss2si(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0562((byte) 0x2C, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttss2si  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttss2si  eax, [rbx + 305419896]}
     */
    // Template#: 2310, Serial#: 9714
    public void cvttss2si(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0563((byte) 0x2C, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttss2si  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttss2si  rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 2311, Serial#: 9722
    public void cvttss2si(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0564((byte) 0x2C, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttss2si  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttss2si  rax, [rbx + 18]}
     */
    // Template#: 2312, Serial#: 9721
    public void cvttss2si(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0565((byte) 0x2C, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttss2si  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttss2si  rax, rbx[rsi * 4]}
     */
    // Template#: 2313, Serial#: 9718
    public void cvttss2si(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0566((byte) 0x2C, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttss2si  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttss2si  rax, [rbx]}
     */
    // Template#: 2314, Serial#: 9717
    public void cvttss2si(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0567((byte) 0x2C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttss2si  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttss2si  rax, xmm0}
     */
    // Template#: 2315, Serial#: 9725
    public void cvttss2si(AMD64GeneralRegister64 destination, AMD64XMMRegister source) {
        assemble0568((byte) 0x2C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttss2si  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code cvttss2si  rax, [L1: +305419896]}
     */
    // Template#: 2316, Serial#: 9720
    public void rip_cvttss2si(AMD64GeneralRegister64 destination, int rel32) {
        assemble0569((byte) 0x2C, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttss2si  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttss2si  rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2317, Serial#: 9724
    public void cvttss2si(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0570((byte) 0x2C, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttss2si  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code cvttss2si  rax, 0x12345678[rsi * 4]}
     */
    // Template#: 2318, Serial#: 9719
    public void m_cvttss2si(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0571((byte) 0x2C, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code cvttss2si  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code cvttss2si  rax, [rbx + 305419896]}
     */
    // Template#: 2319, Serial#: 9723
    public void cvttss2si(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0572((byte) 0x2C, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code cwde  }
     * Example disassembly syntax: {@code cwde    }
     */
    // Template#: 2320, Serial#: 3857
    public void cwde() {
        assemble0208((byte) 0x98);
    }

    /**
     * Pseudo-external assembler syntax: {@code das  }
     * Example disassembly syntax: {@code das     }
     */
    // Template#: 2321, Serial#: 3458
    public void das() {
        assemble0208((byte) 0x2F);
    }

    /**
     * Pseudo-external assembler syntax: {@code das  }
     * Example disassembly syntax: {@code das     }
     */
    // Template#: 2322, Serial#: 3459
    public void das_r3459() {
        assemble0209((byte) 0x2F);
    }

    /**
     * Pseudo-external assembler syntax: {@code das  }
     * Example disassembly syntax: {@code das     }
     */
    // Template#: 2323, Serial#: 3460
    public void das_r3460() {
        assemble0210((byte) 0x2F);
    }

    /**
     * Pseudo-external assembler syntax: {@code decb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code decb      rbx[rsi * 4 + 18]}
     */
    // Template#: 2324, Serial#: 5332
    public void decb(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xFE, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code decb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code decb      rbx[rsi * 4 + 18]}
     */
    // Template#: 2325, Serial#: 5350
    public void decb_r5350(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xFE, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code decb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code decb      rbx[rsi * 4 + 18]}
     */
    // Template#: 2326, Serial#: 5368
    public void decb_r5368(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xFE, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code decl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code decl      rbx[rsi * 4 + 18]}
     */
    // Template#: 2327, Serial#: 5386
    public void decl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xFF, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code decq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code decq      rbx[rsi * 4 + 18]}
     */
    // Template#: 2328, Serial#: 5404
    public void decq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xFF, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code decw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code decw      rbx[rsi * 4 + 18]}
     */
    // Template#: 2329, Serial#: 5422
    public void decw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xFF, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code decb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code decb      [rbx + 18]}
     */
    // Template#: 2330, Serial#: 5331
    public void decb(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xFE, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code decb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code decb      [rbx + 18]}
     */
    // Template#: 2331, Serial#: 5349
    public void decb_r5349(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xFE, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code decb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code decb      [rbx + 18]}
     */
    // Template#: 2332, Serial#: 5367
    public void decb_r5367(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xFE, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code decl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code decl      [rbx + 18]}
     */
    // Template#: 2333, Serial#: 5385
    public void decl(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xFF, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code decq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code decq      [rbx + 18]}
     */
    // Template#: 2334, Serial#: 5403
    public void decq(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xFF, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code decw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code decw      [rbx + 18]}
     */
    // Template#: 2335, Serial#: 5421
    public void decw(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xFF, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code decb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code decb      rbx[rsi * 4]}
     */
    // Template#: 2336, Serial#: 5326
    public void decb(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xFE, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code decb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code decb      rbx[rsi * 4]}
     */
    // Template#: 2337, Serial#: 5344
    public void decb_r5344(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xFE, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code decb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code decb      rbx[rsi * 4]}
     */
    // Template#: 2338, Serial#: 5362
    public void decb_r5362(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xFE, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code decl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code decl      rbx[rsi * 4]}
     */
    // Template#: 2339, Serial#: 5380
    public void decl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xFF, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code decq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code decq      rbx[rsi * 4]}
     */
    // Template#: 2340, Serial#: 5398
    public void decq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xFF, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code decw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code decw      rbx[rsi * 4]}
     */
    // Template#: 2341, Serial#: 5416
    public void decw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xFF, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code decw  }<i>destination</i>
     * Example disassembly syntax: {@code decw      ax}
     */
    // Template#: 2342, Serial#: 5428
    public void decw(AMD64GeneralRegister16 destination) {
        assemble0336((byte) 0xFF, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code decl  }<i>destination</i>
     * Example disassembly syntax: {@code decl      eax}
     */
    // Template#: 2343, Serial#: 5392
    public void decl(AMD64GeneralRegister32 destination) {
        assemble0576((byte) 0xFF, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code decq  }<i>destination</i>
     * Example disassembly syntax: {@code decq      rax}
     */
    // Template#: 2344, Serial#: 5410
    public void decq(AMD64GeneralRegister64 destination) {
        assemble0577((byte) 0xFF, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code decb  }<i>destination</i>
     * Example disassembly syntax: {@code decb      al}
     */
    // Template#: 2345, Serial#: 5338
    public void decb(AMD64GeneralRegister8 destination) {
        assemble0578((byte) 0xFE, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code decb  }<i>destination</i>
     * Example disassembly syntax: {@code decb      al}
     */
    // Template#: 2346, Serial#: 5356
    public void decb_r5356(AMD64GeneralRegister8 destination) {
        assemble0579((byte) 0xFE, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code decb  }<i>destination</i>
     * Example disassembly syntax: {@code decb      al}
     */
    // Template#: 2347, Serial#: 5374
    public void decb_r5374(AMD64GeneralRegister8 destination) {
        assemble0580((byte) 0xFE, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code decb  }<i>destination</i>
     * Example disassembly syntax: {@code decb      [rbx]}
     */
    // Template#: 2348, Serial#: 5325
    public void decb(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xFE, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code decb  }<i>destination</i>
     * Example disassembly syntax: {@code decb      [rbx]}
     */
    // Template#: 2349, Serial#: 5343
    public void decb_r5343(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xFE, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code decb  }<i>destination</i>
     * Example disassembly syntax: {@code decb      [rbx]}
     */
    // Template#: 2350, Serial#: 5361
    public void decb_r5361(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xFE, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code decl  }<i>destination</i>
     * Example disassembly syntax: {@code decl      [rbx]}
     */
    // Template#: 2351, Serial#: 5379
    public void decl(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xFF, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code decq  }<i>destination</i>
     * Example disassembly syntax: {@code decq      [rbx]}
     */
    // Template#: 2352, Serial#: 5397
    public void decq(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xFF, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code decw  }<i>destination</i>
     * Example disassembly syntax: {@code decw      [rbx]}
     */
    // Template#: 2353, Serial#: 5415
    public void decw(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xFF, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code decb  }<i>rel32</i>
     * Example disassembly syntax: {@code decb      [L1: +305419896]}
     */
    // Template#: 2354, Serial#: 5328
    public void rip_decb(int rel32) {
        assemble0341((byte) 0xFE, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code decb  }<i>rel32</i>
     * Example disassembly syntax: {@code decb      [L1: +305419896]}
     */
    // Template#: 2355, Serial#: 5346
    public void rip_decb_r5346(int rel32) {
        assemble0582((byte) 0xFE, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code decb  }<i>rel32</i>
     * Example disassembly syntax: {@code decb      [L1: +305419896]}
     */
    // Template#: 2356, Serial#: 5364
    public void rip_decb_r5364(int rel32) {
        assemble0342((byte) 0xFE, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code decl  }<i>rel32</i>
     * Example disassembly syntax: {@code decl      [L1: +305419896]}
     */
    // Template#: 2357, Serial#: 5382
    public void rip_decl(int rel32) {
        assemble0341((byte) 0xFF, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code decq  }<i>rel32</i>
     * Example disassembly syntax: {@code decq      [L1: +305419896]}
     */
    // Template#: 2358, Serial#: 5400
    public void rip_decq(int rel32) {
        assemble0582((byte) 0xFF, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code decw  }<i>rel32</i>
     * Example disassembly syntax: {@code decw      [L1: +305419896]}
     */
    // Template#: 2359, Serial#: 5418
    public void rip_decw(int rel32) {
        assemble0342((byte) 0xFF, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code decb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code decb      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2360, Serial#: 5336
    public void decb(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xFE, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code decb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code decb      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2361, Serial#: 5354
    public void decb_r5354(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xFE, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code decb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code decb      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2362, Serial#: 5372
    public void decb_r5372(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xFE, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code decl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code decl      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2363, Serial#: 5390
    public void decl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xFF, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code decq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code decq      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2364, Serial#: 5408
    public void decq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xFF, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code decw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code decw      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2365, Serial#: 5426
    public void decw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xFF, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code decb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code decb      0x12345678[rsi * 4]}
     */
    // Template#: 2366, Serial#: 5327
    public void m_decb(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xFE, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code decb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code decb      0x12345678[rsi * 4]}
     */
    // Template#: 2367, Serial#: 5345
    public void m_decb_r5345(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xFE, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code decb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code decb      0x12345678[rsi * 4]}
     */
    // Template#: 2368, Serial#: 5363
    public void m_decb_r5363(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xFE, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code decl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code decl      0x12345678[rsi * 4]}
     */
    // Template#: 2369, Serial#: 5381
    public void m_decl(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xFF, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code decq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code decq      0x12345678[rsi * 4]}
     */
    // Template#: 2370, Serial#: 5399
    public void m_decq(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xFF, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code decw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code decw      0x12345678[rsi * 4]}
     */
    // Template#: 2371, Serial#: 5417
    public void m_decw(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xFF, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code decb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code decb      [rbx + 305419896]}
     */
    // Template#: 2372, Serial#: 5335
    public void decb(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xFE, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code decb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code decb      [rbx + 305419896]}
     */
    // Template#: 2373, Serial#: 5353
    public void decb_r5353(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xFE, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code decb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code decb      [rbx + 305419896]}
     */
    // Template#: 2374, Serial#: 5371
    public void decb_r5371(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xFE, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code decl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code decl      [rbx + 305419896]}
     */
    // Template#: 2375, Serial#: 5389
    public void decl(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xFF, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code decq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code decq      [rbx + 305419896]}
     */
    // Template#: 2376, Serial#: 5407
    public void decq(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xFF, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code decw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code decw      [rbx + 305419896]}
     */
    // Template#: 2377, Serial#: 5425
    public void decw(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xFF, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code divb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divb      rbx[rsi * 4 + 18], al}
     */
    // Template#: 2378, Serial#: 2726
    public void divb___AL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xF6, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divb      rbx[rsi * 4 + 18], al}
     */
    // Template#: 2379, Serial#: 2798
    public void divb___AL_r2798(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xF6, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divb      rbx[rsi * 4 + 18], al}
     */
    // Template#: 2380, Serial#: 2870
    public void divb___AL_r2870(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xF6, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divl      rbx[rsi * 4 + 18]}
     */
    // Template#: 2381, Serial#: 2942
    public void divl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xF7, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divq      rbx[rsi * 4 + 18]}
     */
    // Template#: 2382, Serial#: 3014
    public void divq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xF7, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divw      rbx[rsi * 4 + 18]}
     */
    // Template#: 2383, Serial#: 3086
    public void divw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xF7, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code divb      [rbx + 18], al}
     */
    // Template#: 2384, Serial#: 2725
    public void divb___AL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xF6, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code divb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code divb      [rbx + 18], al}
     */
    // Template#: 2385, Serial#: 2797
    public void divb___AL_r2797(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xF6, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code divb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code divb      [rbx + 18], al}
     */
    // Template#: 2386, Serial#: 2869
    public void divb___AL_r2869(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xF6, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code divl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code divl      [rbx + 18]}
     */
    // Template#: 2387, Serial#: 2941
    public void divl(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xF7, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code divq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code divq      [rbx + 18]}
     */
    // Template#: 2388, Serial#: 3013
    public void divq(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xF7, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code divw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code divw      [rbx + 18]}
     */
    // Template#: 2389, Serial#: 3085
    public void divw(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xF7, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code divb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divb      rbx[rsi * 4], al}
     */
    // Template#: 2390, Serial#: 2706
    public void divb___AL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xF6, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divb      rbx[rsi * 4], al}
     */
    // Template#: 2391, Serial#: 2778
    public void divb___AL_r2778(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xF6, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divb      rbx[rsi * 4], al}
     */
    // Template#: 2392, Serial#: 2850
    public void divb___AL_r2850(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xF6, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divl      rbx[rsi * 4]}
     */
    // Template#: 2393, Serial#: 2922
    public void divl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xF7, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divq      rbx[rsi * 4]}
     */
    // Template#: 2394, Serial#: 2994
    public void divq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xF7, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divw      rbx[rsi * 4]}
     */
    // Template#: 2395, Serial#: 3066
    public void divw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xF7, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divw  }<i>destination</i>
     * Example disassembly syntax: {@code divw      ax}
     */
    // Template#: 2396, Serial#: 3111
    public void divw(AMD64GeneralRegister16 destination) {
        assemble0336((byte) 0xF7, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code divl  }<i>destination</i>
     * Example disassembly syntax: {@code divl      eax}
     */
    // Template#: 2397, Serial#: 2967
    public void divl(AMD64GeneralRegister32 destination) {
        assemble0576((byte) 0xF7, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code divq  }<i>destination</i>
     * Example disassembly syntax: {@code divq      rax}
     */
    // Template#: 2398, Serial#: 3039
    public void divq(AMD64GeneralRegister64 destination) {
        assemble0577((byte) 0xF7, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code divb  }<i>destination</i>
     * Example disassembly syntax: {@code divb      al, al}
     */
    // Template#: 2399, Serial#: 2751
    public void divb___AL(AMD64GeneralRegister8 destination) {
        assemble0578((byte) 0xF6, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code divb  }<i>destination</i>
     * Example disassembly syntax: {@code divb      al, al}
     */
    // Template#: 2400, Serial#: 2823
    public void divb___AL_r2823(AMD64GeneralRegister8 destination) {
        assemble0579((byte) 0xF6, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code divb  }<i>destination</i>
     * Example disassembly syntax: {@code divb      al, al}
     */
    // Template#: 2401, Serial#: 2895
    public void divb___AL_r2895(AMD64GeneralRegister8 destination) {
        assemble0580((byte) 0xF6, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code divb  }<i>destination</i>
     * Example disassembly syntax: {@code divb      [rbx], al}
     */
    // Template#: 2402, Serial#: 2705
    public void divb___AL(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xF6, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code divb  }<i>destination</i>
     * Example disassembly syntax: {@code divb      [rbx], al}
     */
    // Template#: 2403, Serial#: 2777
    public void divb___AL_r2777(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xF6, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code divb  }<i>destination</i>
     * Example disassembly syntax: {@code divb      [rbx], al}
     */
    // Template#: 2404, Serial#: 2849
    public void divb___AL_r2849(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xF6, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code divl  }<i>destination</i>
     * Example disassembly syntax: {@code divl      [rbx]}
     */
    // Template#: 2405, Serial#: 2921
    public void divl(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xF7, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code divq  }<i>destination</i>
     * Example disassembly syntax: {@code divq      [rbx]}
     */
    // Template#: 2406, Serial#: 2993
    public void divq(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xF7, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code divw  }<i>destination</i>
     * Example disassembly syntax: {@code divw      [rbx]}
     */
    // Template#: 2407, Serial#: 3065
    public void divw(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xF7, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code divb  }<i>rel32</i>
     * Example disassembly syntax: {@code divb      [L1: +305419896], al}
     */
    // Template#: 2408, Serial#: 2708
    public void rip_divb___AL(int rel32) {
        assemble0341((byte) 0xF6, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code divb  }<i>rel32</i>
     * Example disassembly syntax: {@code divb      [L1: +305419896], al}
     */
    // Template#: 2409, Serial#: 2780
    public void rip_divb___AL_r2780(int rel32) {
        assemble0582((byte) 0xF6, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code divb  }<i>rel32</i>
     * Example disassembly syntax: {@code divb      [L1: +305419896], al}
     */
    // Template#: 2410, Serial#: 2852
    public void rip_divb___AL_r2852(int rel32) {
        assemble0342((byte) 0xF6, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code divl  }<i>rel32</i>
     * Example disassembly syntax: {@code divl      [L1: +305419896]}
     */
    // Template#: 2411, Serial#: 2924
    public void rip_divl(int rel32) {
        assemble0341((byte) 0xF7, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code divq  }<i>rel32</i>
     * Example disassembly syntax: {@code divq      [L1: +305419896]}
     */
    // Template#: 2412, Serial#: 2996
    public void rip_divq(int rel32) {
        assemble0582((byte) 0xF7, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code divw  }<i>rel32</i>
     * Example disassembly syntax: {@code divw      [L1: +305419896]}
     */
    // Template#: 2413, Serial#: 3068
    public void rip_divw(int rel32) {
        assemble0342((byte) 0xF7, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code divb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divb      rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 2414, Serial#: 2742
    public void divb___AL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xF6, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divb      rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 2415, Serial#: 2814
    public void divb___AL_r2814(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xF6, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divb      rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 2416, Serial#: 2886
    public void divb___AL_r2886(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xF6, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divl      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2417, Serial#: 2958
    public void divl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xF7, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divq      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2418, Serial#: 3030
    public void divq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xF7, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divw      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2419, Serial#: 3102
    public void divw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xF7, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divb      0x12345678[rsi * 4], al}
     */
    // Template#: 2420, Serial#: 2707
    public void m_divb___AL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xF6, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divb      0x12345678[rsi * 4], al}
     */
    // Template#: 2421, Serial#: 2779
    public void m_divb___AL_r2779(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xF6, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divb      0x12345678[rsi * 4], al}
     */
    // Template#: 2422, Serial#: 2851
    public void m_divb___AL_r2851(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xF6, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divl      0x12345678[rsi * 4]}
     */
    // Template#: 2423, Serial#: 2923
    public void m_divl(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xF7, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divq      0x12345678[rsi * 4]}
     */
    // Template#: 2424, Serial#: 2995
    public void m_divq(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xF7, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divw      0x12345678[rsi * 4]}
     */
    // Template#: 2425, Serial#: 3067
    public void m_divw(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xF7, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code divb      [rbx + 305419896], al}
     */
    // Template#: 2426, Serial#: 2741
    public void divb___AL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xF6, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code divb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code divb      [rbx + 305419896], al}
     */
    // Template#: 2427, Serial#: 2813
    public void divb___AL_r2813(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xF6, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code divb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code divb      [rbx + 305419896], al}
     */
    // Template#: 2428, Serial#: 2885
    public void divb___AL_r2885(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xF6, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code divl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code divl      [rbx + 305419896]}
     */
    // Template#: 2429, Serial#: 2957
    public void divl(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xF7, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code divq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code divq      [rbx + 305419896]}
     */
    // Template#: 2430, Serial#: 3029
    public void divq(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xF7, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code divw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code divw      [rbx + 305419896]}
     */
    // Template#: 2431, Serial#: 3101
    public void divw(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xF7, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code divpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divpd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2432, Serial#: 10217
    public void divpd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x5E, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divpd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2433, Serial#: 10226
    public void divpd_r10226(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x5E, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code divpd     xmm0, [rbx + 18]}
     */
    // Template#: 2434, Serial#: 10216
    public void divpd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x5E, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code divpd     xmm0, [rbx + 18]}
     */
    // Template#: 2435, Serial#: 10225
    public void divpd_r10225(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x5E, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divpd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 2436, Serial#: 10213
    public void divpd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x5E, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divpd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 2437, Serial#: 10222
    public void divpd_r10222(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x5E, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code divpd     xmm0, [rbx]}
     */
    // Template#: 2438, Serial#: 10212
    public void divpd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x5E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code divpd     xmm0, [rbx]}
     */
    // Template#: 2439, Serial#: 10221
    public void divpd_r10221(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x5E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code divpd     xmm0, xmm0}
     */
    // Template#: 2440, Serial#: 10220
    public void divpd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x5E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code divpd     xmm0, xmm0}
     */
    // Template#: 2441, Serial#: 10229
    public void divpd_r10229(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x5E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code divpd     xmm0, [L1: +305419896]}
     */
    // Template#: 2442, Serial#: 10215
    public void rip_divpd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x5E, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code divpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code divpd     xmm0, [L1: +305419896]}
     */
    // Template#: 2443, Serial#: 10224
    public void rip_divpd_r10224(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x5E, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code divpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divpd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2444, Serial#: 10219
    public void divpd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x5E, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divpd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2445, Serial#: 10228
    public void divpd_r10228(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x5E, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divpd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2446, Serial#: 10214
    public void m_divpd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x5E, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divpd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2447, Serial#: 10223
    public void m_divpd_r10223(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x5E, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code divpd     xmm0, [rbx + 305419896]}
     */
    // Template#: 2448, Serial#: 10218
    public void divpd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x5E, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code divpd     xmm0, [rbx + 305419896]}
     */
    // Template#: 2449, Serial#: 10227
    public void divpd_r10227(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x5E, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divps     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2450, Serial#: 10073
    public void divps(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0190((byte) 0x5E, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divps     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2451, Serial#: 10082
    public void divps_r10082(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0191((byte) 0x5E, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code divps     xmm0, [rbx + 18]}
     */
    // Template#: 2452, Serial#: 10072
    public void divps(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0192((byte) 0x5E, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code divps     xmm0, [rbx + 18]}
     */
    // Template#: 2453, Serial#: 10081
    public void divps_r10081(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0193((byte) 0x5E, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divps     xmm0, rbx[rsi * 4]}
     */
    // Template#: 2454, Serial#: 10069
    public void divps(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0194((byte) 0x5E, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divps     xmm0, rbx[rsi * 4]}
     */
    // Template#: 2455, Serial#: 10078
    public void divps_r10078(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0195((byte) 0x5E, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code divps     xmm0, [rbx]}
     */
    // Template#: 2456, Serial#: 10068
    public void divps(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0196((byte) 0x5E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code divps     xmm0, [rbx]}
     */
    // Template#: 2457, Serial#: 10077
    public void divps_r10077(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0197((byte) 0x5E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code divps     xmm0, xmm0}
     */
    // Template#: 2458, Serial#: 10076
    public void divps(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0198((byte) 0x5E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code divps     xmm0, xmm0}
     */
    // Template#: 2459, Serial#: 10085
    public void divps_r10085(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0199((byte) 0x5E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code divps     xmm0, [L1: +305419896]}
     */
    // Template#: 2460, Serial#: 10071
    public void rip_divps(AMD64XMMRegister destination, int rel32) {
        assemble0200((byte) 0x5E, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code divps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code divps     xmm0, [L1: +305419896]}
     */
    // Template#: 2461, Serial#: 10080
    public void rip_divps_r10080(AMD64XMMRegister destination, int rel32) {
        assemble0201((byte) 0x5E, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code divps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divps     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2462, Serial#: 10075
    public void divps(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0202((byte) 0x5E, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divps     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2463, Serial#: 10084
    public void divps_r10084(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0203((byte) 0x5E, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divps     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2464, Serial#: 10070
    public void m_divps(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0204((byte) 0x5E, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divps     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2465, Serial#: 10079
    public void m_divps_r10079(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0205((byte) 0x5E, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code divps     xmm0, [rbx + 305419896]}
     */
    // Template#: 2466, Serial#: 10074
    public void divps(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0206((byte) 0x5E, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code divps     xmm0, [rbx + 305419896]}
     */
    // Template#: 2467, Serial#: 10083
    public void divps_r10083(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0207((byte) 0x5E, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divsd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divsd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2468, Serial#: 10343
    public void divsd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0211((byte) 0x5E, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divsd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divsd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2469, Serial#: 10352
    public void divsd_r10352(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0212((byte) 0x5E, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divsd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code divsd     xmm0, [rbx + 18]}
     */
    // Template#: 2470, Serial#: 10342
    public void divsd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0213((byte) 0x5E, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divsd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code divsd     xmm0, [rbx + 18]}
     */
    // Template#: 2471, Serial#: 10351
    public void divsd_r10351(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0214((byte) 0x5E, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divsd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divsd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 2472, Serial#: 10339
    public void divsd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0215((byte) 0x5E, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divsd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divsd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 2473, Serial#: 10348
    public void divsd_r10348(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0216((byte) 0x5E, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code divsd     xmm0, [rbx]}
     */
    // Template#: 2474, Serial#: 10338
    public void divsd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0217((byte) 0x5E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code divsd     xmm0, [rbx]}
     */
    // Template#: 2475, Serial#: 10347
    public void divsd_r10347(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0218((byte) 0x5E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code divsd     xmm0, xmm0}
     */
    // Template#: 2476, Serial#: 10346
    public void divsd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0219((byte) 0x5E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code divsd     xmm0, xmm0}
     */
    // Template#: 2477, Serial#: 10355
    public void divsd_r10355(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0220((byte) 0x5E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divsd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code divsd     xmm0, [L1: +305419896]}
     */
    // Template#: 2478, Serial#: 10341
    public void rip_divsd(AMD64XMMRegister destination, int rel32) {
        assemble0221((byte) 0x5E, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code divsd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code divsd     xmm0, [L1: +305419896]}
     */
    // Template#: 2479, Serial#: 10350
    public void rip_divsd_r10350(AMD64XMMRegister destination, int rel32) {
        assemble0222((byte) 0x5E, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code divsd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divsd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2480, Serial#: 10345
    public void divsd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0223((byte) 0x5E, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divsd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divsd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2481, Serial#: 10354
    public void divsd_r10354(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0224((byte) 0x5E, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divsd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divsd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2482, Serial#: 10340
    public void m_divsd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0225((byte) 0x5E, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divsd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divsd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2483, Serial#: 10349
    public void m_divsd_r10349(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0226((byte) 0x5E, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divsd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code divsd     xmm0, [rbx + 305419896]}
     */
    // Template#: 2484, Serial#: 10344
    public void divsd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0227((byte) 0x5E, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divsd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code divsd     xmm0, [rbx + 305419896]}
     */
    // Template#: 2485, Serial#: 10353
    public void divsd_r10353(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0228((byte) 0x5E, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divss     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2486, Serial#: 10487
    public void divss(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0229((byte) 0x5E, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divss     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 2487, Serial#: 10496
    public void divss_r10496(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0230((byte) 0x5E, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divss  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code divss     xmm0, [rbx + 18]}
     */
    // Template#: 2488, Serial#: 10486
    public void divss(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0231((byte) 0x5E, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divss  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code divss     xmm0, [rbx + 18]}
     */
    // Template#: 2489, Serial#: 10495
    public void divss_r10495(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0232((byte) 0x5E, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divss     xmm0, rbx[rsi * 4]}
     */
    // Template#: 2490, Serial#: 10483
    public void divss(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0233((byte) 0x5E, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divss     xmm0, rbx[rsi * 4]}
     */
    // Template#: 2491, Serial#: 10492
    public void divss_r10492(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0234((byte) 0x5E, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code divss     xmm0, [rbx]}
     */
    // Template#: 2492, Serial#: 10482
    public void divss(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0235((byte) 0x5E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code divss     xmm0, [rbx]}
     */
    // Template#: 2493, Serial#: 10491
    public void divss_r10491(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0236((byte) 0x5E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code divss     xmm0, xmm0}
     */
    // Template#: 2494, Serial#: 10490
    public void divss(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0237((byte) 0x5E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code divss     xmm0, xmm0}
     */
    // Template#: 2495, Serial#: 10499
    public void divss_r10499(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0238((byte) 0x5E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divss  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code divss     xmm0, [L1: +305419896]}
     */
    // Template#: 2496, Serial#: 10485
    public void rip_divss(AMD64XMMRegister destination, int rel32) {
        assemble0239((byte) 0x5E, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code divss  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code divss     xmm0, [L1: +305419896]}
     */
    // Template#: 2497, Serial#: 10494
    public void rip_divss_r10494(AMD64XMMRegister destination, int rel32) {
        assemble0240((byte) 0x5E, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code divss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divss     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2498, Serial#: 10489
    public void divss(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0241((byte) 0x5E, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divss     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2499, Serial#: 10498
    public void divss_r10498(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0242((byte) 0x5E, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divss     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2500, Serial#: 10484
    public void m_divss(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0243((byte) 0x5E, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code divss     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 2501, Serial#: 10493
    public void m_divss_r10493(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0244((byte) 0x5E, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code divss  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code divss     xmm0, [rbx + 305419896]}
     */
    // Template#: 2502, Serial#: 10488
    public void divss(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0245((byte) 0x5E, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code divss  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code divss     xmm0, [rbx + 305419896]}
     */
    // Template#: 2503, Serial#: 10497
    public void divss_r10497(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0246((byte) 0x5E, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code emms  }
     * Example disassembly syntax: {@code emms    }
     */
    // Template#: 2504, Serial#: 7367
    public void emms() {
        assemble0373((byte) 0x77);
    }

    /**
     * Pseudo-external assembler syntax: {@code emms  }
     * Example disassembly syntax: {@code emms    }
     */
    // Template#: 2505, Serial#: 7368
    public void emms_r7368() {
        assemble0374((byte) 0x77);
    }

    /**
     * Pseudo-external assembler syntax: {@code emms  }
     * Example disassembly syntax: {@code emms    }
     */
    // Template#: 2506, Serial#: 7369
    public void emms_r7369() {
        assemble0375((byte) 0x77);
    }

    /**
     * Pseudo-external assembler syntax: {@code enter  }<i>imm16</i>, <i>imm8</i>
     * Example disassembly syntax: {@code enter     0x1234, 0x12}
     */
    // Template#: 2507, Serial#: 3901
    public void enter(short imm16, byte imm8) {
        assemble0586((byte) 0xC8, imm16, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code enter  }<i>imm16</i>, <i>imm8</i>
     * Example disassembly syntax: {@code enter     0x1234, 0x12}
     */
    // Template#: 2508, Serial#: 3902
    public void enter_r3902(short imm16, byte imm8) {
        assemble0587((byte) 0xC8, imm16, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code f2xm1  }
     * Example disassembly syntax: {@code f2xm1   }
     */
    // Template#: 2509, Serial#: 12830
    public void f2xm1() {
        assemble0588((byte) 0xF0);
    }

    /**
     * Pseudo-external assembler syntax: {@code f2xm1  }
     * Example disassembly syntax: {@code f2xm1   }
     */
    // Template#: 2510, Serial#: 12831
    public void f2xm1_r12831() {
        assemble0589((byte) 0xF0);
    }

    /**
     * Pseudo-external assembler syntax: {@code f2xm1  }
     * Example disassembly syntax: {@code f2xm1   }
     */
    // Template#: 2511, Serial#: 12832
    public void f2xm1_r12832() {
        assemble0590((byte) 0xF0);
    }

    /**
     * Pseudo-external assembler syntax: {@code fabs  }
     * Example disassembly syntax: {@code fabs    }
     */
    // Template#: 2512, Serial#: 12800
    public void fabs() {
        assemble0588((byte) 0xE1);
    }

    /**
     * Pseudo-external assembler syntax: {@code fabs  }
     * Example disassembly syntax: {@code fabs    }
     */
    // Template#: 2513, Serial#: 12801
    public void fabs_r12801() {
        assemble0589((byte) 0xE1);
    }

    /**
     * Pseudo-external assembler syntax: {@code fabs  }
     * Example disassembly syntax: {@code fabs    }
     */
    // Template#: 2514, Serial#: 12802
    public void fabs_r12802() {
        assemble0590((byte) 0xE1);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadds  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fadds     rbx[rsi * 4 + 18]}
     */
    // Template#: 2515, Serial#: 3953
    public void fadds(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD8, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadds  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fadds     rbx[rsi * 4 + 18]}
     */
    // Template#: 2516, Serial#: 4017
    public void fadds_r4017(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD8, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadds  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fadds     rbx[rsi * 4 + 18]}
     */
    // Template#: 2517, Serial#: 4081
    public void fadds_r4081(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD8, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code faddl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code faddl     rbx[rsi * 4 + 18]}
     */
    // Template#: 2518, Serial#: 4625
    public void faddl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDC, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code faddl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code faddl     rbx[rsi * 4 + 18]}
     */
    // Template#: 2519, Serial#: 4689
    public void faddl_r4689(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDC, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code faddl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code faddl     rbx[rsi * 4 + 18]}
     */
    // Template#: 2520, Serial#: 4753
    public void faddl_r4753(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDC, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadds  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fadds     [rbx + 18]}
     */
    // Template#: 2521, Serial#: 3952
    public void fadds(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD8, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadds  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fadds     [rbx + 18]}
     */
    // Template#: 2522, Serial#: 4016
    public void fadds_r4016(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD8, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadds  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fadds     [rbx + 18]}
     */
    // Template#: 2523, Serial#: 4080
    public void fadds_r4080(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD8, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code faddl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code faddl     [rbx + 18]}
     */
    // Template#: 2524, Serial#: 4624
    public void faddl(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDC, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code faddl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code faddl     [rbx + 18]}
     */
    // Template#: 2525, Serial#: 4688
    public void faddl_r4688(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDC, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code faddl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code faddl     [rbx + 18]}
     */
    // Template#: 2526, Serial#: 4752
    public void faddl_r4752(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDC, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadds  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fadds     rbx[rsi * 4]}
     */
    // Template#: 2527, Serial#: 3921
    public void fadds(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD8, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadds  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fadds     rbx[rsi * 4]}
     */
    // Template#: 2528, Serial#: 3985
    public void fadds_r3985(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD8, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadds  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fadds     rbx[rsi * 4]}
     */
    // Template#: 2529, Serial#: 4049
    public void fadds_r4049(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD8, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code faddl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code faddl     rbx[rsi * 4]}
     */
    // Template#: 2530, Serial#: 4593
    public void faddl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDC, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code faddl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code faddl     rbx[rsi * 4]}
     */
    // Template#: 2531, Serial#: 4657
    public void faddl_r4657(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDC, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code faddl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code faddl     rbx[rsi * 4]}
     */
    // Template#: 2532, Serial#: 4721
    public void faddl_r4721(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDC, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadds  }<i>destination</i>
     * Example disassembly syntax: {@code fadds     [rbx]}
     */
    // Template#: 2533, Serial#: 3920
    public void fadds(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD8, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadds  }<i>destination</i>
     * Example disassembly syntax: {@code fadds     [rbx]}
     */
    // Template#: 2534, Serial#: 3984
    public void fadds_r3984(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD8, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadds  }<i>destination</i>
     * Example disassembly syntax: {@code fadds     [rbx]}
     */
    // Template#: 2535, Serial#: 4048
    public void fadds_r4048(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD8, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code faddl  }<i>destination</i>
     * Example disassembly syntax: {@code faddl     [rbx]}
     */
    // Template#: 2536, Serial#: 4592
    public void faddl(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDC, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code faddl  }<i>destination</i>
     * Example disassembly syntax: {@code faddl     [rbx]}
     */
    // Template#: 2537, Serial#: 4656
    public void faddl_r4656(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDC, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code faddl  }<i>destination</i>
     * Example disassembly syntax: {@code faddl     [rbx]}
     */
    // Template#: 2538, Serial#: 4720
    public void faddl_r4720(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDC, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadd  }<i>st_i</i>
     * Example disassembly syntax: {@code fadd      st, st(0)}
     */
    // Template#: 2539, Serial#: 12761
    public void fadd_ST(FPStackRegister st_i) {
        assemble0591((byte) 0xC0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadd  }<i>st_i</i>
     * Example disassembly syntax: {@code fadd      st, st(0)}
     */
    // Template#: 2540, Serial#: 12762
    public void fadd_ST_r12762(FPStackRegister st_i) {
        assemble0592((byte) 0xC0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadd  }<i>st_i</i>
     * Example disassembly syntax: {@code fadd      st, st(0)}
     */
    // Template#: 2541, Serial#: 12763
    public void fadd_ST_r12763(FPStackRegister st_i) {
        assemble0593((byte) 0xC0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadd  }<i>st_i</i>
     * Example disassembly syntax: {@code fadd      st(0), st}
     */
    // Template#: 2542, Serial#: 12917
    public void fadd___ST(FPStackRegister st_i) {
        assemble0594((byte) 0xC0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadd  }<i>st_i</i>
     * Example disassembly syntax: {@code fadd      st(0), st}
     */
    // Template#: 2543, Serial#: 12918
    public void fadd___ST_r12918(FPStackRegister st_i) {
        assemble0595((byte) 0xC0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadd  }<i>st_i</i>
     * Example disassembly syntax: {@code fadd      st(0), st}
     */
    // Template#: 2544, Serial#: 12919
    public void fadd___ST_r12919(FPStackRegister st_i) {
        assemble0596((byte) 0xC0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadds  }<i>rel32</i>
     * Example disassembly syntax: {@code fadds     [L1: +305419896]}
     */
    // Template#: 2545, Serial#: 3923
    public void rip_fadds(int rel32) {
        assemble0341((byte) 0xD8, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadds  }<i>rel32</i>
     * Example disassembly syntax: {@code fadds     [L1: +305419896]}
     */
    // Template#: 2546, Serial#: 3987
    public void rip_fadds_r3987(int rel32) {
        assemble0582((byte) 0xD8, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadds  }<i>rel32</i>
     * Example disassembly syntax: {@code fadds     [L1: +305419896]}
     */
    // Template#: 2547, Serial#: 4051
    public void rip_fadds_r4051(int rel32) {
        assemble0342((byte) 0xD8, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code faddl  }<i>rel32</i>
     * Example disassembly syntax: {@code faddl     [L1: +305419896]}
     */
    // Template#: 2548, Serial#: 4595
    public void rip_faddl(int rel32) {
        assemble0341((byte) 0xDC, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code faddl  }<i>rel32</i>
     * Example disassembly syntax: {@code faddl     [L1: +305419896]}
     */
    // Template#: 2549, Serial#: 4659
    public void rip_faddl_r4659(int rel32) {
        assemble0582((byte) 0xDC, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code faddl  }<i>rel32</i>
     * Example disassembly syntax: {@code faddl     [L1: +305419896]}
     */
    // Template#: 2550, Serial#: 4723
    public void rip_faddl_r4723(int rel32) {
        assemble0342((byte) 0xDC, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadds  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fadds     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2551, Serial#: 3969
    public void fadds(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD8, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadds  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fadds     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2552, Serial#: 4033
    public void fadds_r4033(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD8, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadds  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fadds     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2553, Serial#: 4097
    public void fadds_r4097(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD8, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code faddl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code faddl     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2554, Serial#: 4641
    public void faddl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDC, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code faddl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code faddl     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2555, Serial#: 4705
    public void faddl_r4705(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDC, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code faddl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code faddl     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2556, Serial#: 4769
    public void faddl_r4769(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDC, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadds  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fadds     0x12345678[rsi * 4]}
     */
    // Template#: 2557, Serial#: 3922
    public void m_fadds(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD8, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadds  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fadds     0x12345678[rsi * 4]}
     */
    // Template#: 2558, Serial#: 3986
    public void m_fadds_r3986(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD8, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadds  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fadds     0x12345678[rsi * 4]}
     */
    // Template#: 2559, Serial#: 4050
    public void m_fadds_r4050(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD8, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code faddl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code faddl     0x12345678[rsi * 4]}
     */
    // Template#: 2560, Serial#: 4594
    public void m_faddl(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDC, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code faddl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code faddl     0x12345678[rsi * 4]}
     */
    // Template#: 2561, Serial#: 4658
    public void m_faddl_r4658(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDC, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code faddl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code faddl     0x12345678[rsi * 4]}
     */
    // Template#: 2562, Serial#: 4722
    public void m_faddl_r4722(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDC, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadds  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fadds     [rbx + 305419896]}
     */
    // Template#: 2563, Serial#: 3968
    public void fadds(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD8, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadds  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fadds     [rbx + 305419896]}
     */
    // Template#: 2564, Serial#: 4032
    public void fadds_r4032(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD8, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fadds  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fadds     [rbx + 305419896]}
     */
    // Template#: 2565, Serial#: 4096
    public void fadds_r4096(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD8, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code faddl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code faddl     [rbx + 305419896]}
     */
    // Template#: 2566, Serial#: 4640
    public void faddl(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDC, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code faddl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code faddl     [rbx + 305419896]}
     */
    // Template#: 2567, Serial#: 4704
    public void faddl_r4704(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDC, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code faddl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code faddl     [rbx + 305419896]}
     */
    // Template#: 2568, Serial#: 4768
    public void faddl_r4768(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDC, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code faddp  }<i>st_i</i>
     * Example disassembly syntax: {@code faddp     st(0), st}
     */
    // Template#: 2569, Serial#: 12959
    public void faddp___ST(FPStackRegister st_i) {
        assemble0597((byte) 0xC0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code faddp  }<i>st_i</i>
     * Example disassembly syntax: {@code faddp     st(0), st}
     */
    // Template#: 2570, Serial#: 12960
    public void faddp___ST_r12960(FPStackRegister st_i) {
        assemble0598((byte) 0xC0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code faddp  }<i>st_i</i>
     * Example disassembly syntax: {@code faddp     st(0), st}
     */
    // Template#: 2571, Serial#: 12961
    public void faddp___ST_r12961(FPStackRegister st_i) {
        assemble0599((byte) 0xC0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbld  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fbld      rbx[rsi * 4 + 18]}
     */
    // Template#: 2572, Serial#: 5155
    public void fbld(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDF, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbld  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fbld      rbx[rsi * 4 + 18]}
     */
    // Template#: 2573, Serial#: 5211
    public void fbld_r5211(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDF, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbld  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fbld      rbx[rsi * 4 + 18]}
     */
    // Template#: 2574, Serial#: 5267
    public void fbld_r5267(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDF, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbld  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fbld      [rbx + 18]}
     */
    // Template#: 2575, Serial#: 5154
    public void fbld(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDF, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbld  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fbld      [rbx + 18]}
     */
    // Template#: 2576, Serial#: 5210
    public void fbld_r5210(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDF, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbld  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fbld      [rbx + 18]}
     */
    // Template#: 2577, Serial#: 5266
    public void fbld_r5266(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDF, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbld  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fbld      rbx[rsi * 4]}
     */
    // Template#: 2578, Serial#: 5133
    public void fbld(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDF, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbld  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fbld      rbx[rsi * 4]}
     */
    // Template#: 2579, Serial#: 5189
    public void fbld_r5189(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDF, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbld  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fbld      rbx[rsi * 4]}
     */
    // Template#: 2580, Serial#: 5245
    public void fbld_r5245(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDF, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbld  }<i>destination</i>
     * Example disassembly syntax: {@code fbld      [rbx]}
     */
    // Template#: 2581, Serial#: 5132
    public void fbld(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDF, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbld  }<i>destination</i>
     * Example disassembly syntax: {@code fbld      [rbx]}
     */
    // Template#: 2582, Serial#: 5188
    public void fbld_r5188(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDF, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbld  }<i>destination</i>
     * Example disassembly syntax: {@code fbld      [rbx]}
     */
    // Template#: 2583, Serial#: 5244
    public void fbld_r5244(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDF, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbld  }<i>rel32</i>
     * Example disassembly syntax: {@code fbld      [L1: +305419896]}
     */
    // Template#: 2584, Serial#: 5135
    public void rip_fbld(int rel32) {
        assemble0341((byte) 0xDF, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbld  }<i>rel32</i>
     * Example disassembly syntax: {@code fbld      [L1: +305419896]}
     */
    // Template#: 2585, Serial#: 5191
    public void rip_fbld_r5191(int rel32) {
        assemble0582((byte) 0xDF, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbld  }<i>rel32</i>
     * Example disassembly syntax: {@code fbld      [L1: +305419896]}
     */
    // Template#: 2586, Serial#: 5247
    public void rip_fbld_r5247(int rel32) {
        assemble0342((byte) 0xDF, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbld  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fbld      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2587, Serial#: 5169
    public void fbld(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDF, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbld  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fbld      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2588, Serial#: 5225
    public void fbld_r5225(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDF, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbld  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fbld      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2589, Serial#: 5281
    public void fbld_r5281(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDF, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbld  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fbld      0x12345678[rsi * 4]}
     */
    // Template#: 2590, Serial#: 5134
    public void m_fbld(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDF, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbld  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fbld      0x12345678[rsi * 4]}
     */
    // Template#: 2591, Serial#: 5190
    public void m_fbld_r5190(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDF, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbld  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fbld      0x12345678[rsi * 4]}
     */
    // Template#: 2592, Serial#: 5246
    public void m_fbld_r5246(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDF, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbld  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fbld      [rbx + 305419896]}
     */
    // Template#: 2593, Serial#: 5168
    public void fbld(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDF, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbld  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fbld      [rbx + 305419896]}
     */
    // Template#: 2594, Serial#: 5224
    public void fbld_r5224(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDF, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbld  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fbld      [rbx + 305419896]}
     */
    // Template#: 2595, Serial#: 5280
    public void fbld_r5280(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDF, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbstp  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fbstp     rbx[rsi * 4 + 18]}
     */
    // Template#: 2596, Serial#: 5159
    public void fbstp(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDF, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbstp  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fbstp     rbx[rsi * 4 + 18]}
     */
    // Template#: 2597, Serial#: 5215
    public void fbstp_r5215(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDF, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbstp  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fbstp     rbx[rsi * 4 + 18]}
     */
    // Template#: 2598, Serial#: 5271
    public void fbstp_r5271(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDF, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbstp  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fbstp     [rbx + 18]}
     */
    // Template#: 2599, Serial#: 5158
    public void fbstp(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDF, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbstp  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fbstp     [rbx + 18]}
     */
    // Template#: 2600, Serial#: 5214
    public void fbstp_r5214(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDF, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbstp  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fbstp     [rbx + 18]}
     */
    // Template#: 2601, Serial#: 5270
    public void fbstp_r5270(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDF, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbstp  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fbstp     rbx[rsi * 4]}
     */
    // Template#: 2602, Serial#: 5141
    public void fbstp(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDF, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbstp  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fbstp     rbx[rsi * 4]}
     */
    // Template#: 2603, Serial#: 5197
    public void fbstp_r5197(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDF, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbstp  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fbstp     rbx[rsi * 4]}
     */
    // Template#: 2604, Serial#: 5253
    public void fbstp_r5253(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDF, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbstp  }<i>destination</i>
     * Example disassembly syntax: {@code fbstp     [rbx]}
     */
    // Template#: 2605, Serial#: 5140
    public void fbstp(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDF, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbstp  }<i>destination</i>
     * Example disassembly syntax: {@code fbstp     [rbx]}
     */
    // Template#: 2606, Serial#: 5196
    public void fbstp_r5196(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDF, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbstp  }<i>destination</i>
     * Example disassembly syntax: {@code fbstp     [rbx]}
     */
    // Template#: 2607, Serial#: 5252
    public void fbstp_r5252(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDF, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbstp  }<i>rel32</i>
     * Example disassembly syntax: {@code fbstp     [L1: +305419896]}
     */
    // Template#: 2608, Serial#: 5143
    public void rip_fbstp(int rel32) {
        assemble0341((byte) 0xDF, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbstp  }<i>rel32</i>
     * Example disassembly syntax: {@code fbstp     [L1: +305419896]}
     */
    // Template#: 2609, Serial#: 5199
    public void rip_fbstp_r5199(int rel32) {
        assemble0582((byte) 0xDF, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbstp  }<i>rel32</i>
     * Example disassembly syntax: {@code fbstp     [L1: +305419896]}
     */
    // Template#: 2610, Serial#: 5255
    public void rip_fbstp_r5255(int rel32) {
        assemble0342((byte) 0xDF, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbstp  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fbstp     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2611, Serial#: 5173
    public void fbstp(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDF, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbstp  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fbstp     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2612, Serial#: 5229
    public void fbstp_r5229(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDF, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbstp  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fbstp     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2613, Serial#: 5285
    public void fbstp_r5285(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDF, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbstp  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fbstp     0x12345678[rsi * 4]}
     */
    // Template#: 2614, Serial#: 5142
    public void m_fbstp(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDF, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbstp  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fbstp     0x12345678[rsi * 4]}
     */
    // Template#: 2615, Serial#: 5198
    public void m_fbstp_r5198(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDF, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbstp  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fbstp     0x12345678[rsi * 4]}
     */
    // Template#: 2616, Serial#: 5254
    public void m_fbstp_r5254(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDF, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbstp  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fbstp     [rbx + 305419896]}
     */
    // Template#: 2617, Serial#: 5172
    public void fbstp(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDF, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbstp  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fbstp     [rbx + 305419896]}
     */
    // Template#: 2618, Serial#: 5228
    public void fbstp_r5228(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDF, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fbstp  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fbstp     [rbx + 305419896]}
     */
    // Template#: 2619, Serial#: 5284
    public void fbstp_r5284(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDF, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fchs  }
     * Example disassembly syntax: {@code fchs    }
     */
    // Template#: 2620, Serial#: 12797
    public void fchs() {
        assemble0588((byte) 0xE0);
    }

    /**
     * Pseudo-external assembler syntax: {@code fchs  }
     * Example disassembly syntax: {@code fchs    }
     */
    // Template#: 2621, Serial#: 12798
    public void fchs_r12798() {
        assemble0589((byte) 0xE0);
    }

    /**
     * Pseudo-external assembler syntax: {@code fchs  }
     * Example disassembly syntax: {@code fchs    }
     */
    // Template#: 2622, Serial#: 12799
    public void fchs_r12799() {
        assemble0590((byte) 0xE0);
    }

    /**
     * Pseudo-external assembler syntax: {@code fclex  }
     * Example disassembly syntax: {@code fclex   }
     */
    // Template#: 2623, Serial#: 12905
    public void fclex() {
        assemble0600((byte) 0xE2);
    }

    /**
     * Pseudo-external assembler syntax: {@code fclex  }
     * Example disassembly syntax: {@code fclex   }
     */
    // Template#: 2624, Serial#: 12906
    public void fclex_r12906() {
        assemble0601((byte) 0xE2);
    }

    /**
     * Pseudo-external assembler syntax: {@code fclex  }
     * Example disassembly syntax: {@code fclex   }
     */
    // Template#: 2625, Serial#: 12907
    public void fclex_r12907() {
        assemble0602((byte) 0xE2);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcmovb  }<i>st_i</i>
     * Example disassembly syntax: {@code fcmovb    st, st(0)}
     */
    // Template#: 2626, Serial#: 12878
    public void fcmovb_ST(FPStackRegister st_i) {
        assemble0603((byte) 0xC0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcmovb  }<i>st_i</i>
     * Example disassembly syntax: {@code fcmovb    st, st(0)}
     */
    // Template#: 2627, Serial#: 12879
    public void fcmovb_ST_r12879(FPStackRegister st_i) {
        assemble0604((byte) 0xC0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcmovb  }<i>st_i</i>
     * Example disassembly syntax: {@code fcmovb    st, st(0)}
     */
    // Template#: 2628, Serial#: 12880
    public void fcmovb_ST_r12880(FPStackRegister st_i) {
        assemble0605((byte) 0xC0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcmovbe  }<i>st_i</i>
     * Example disassembly syntax: {@code fcmovbe   st, st(0)}
     */
    // Template#: 2629, Serial#: 12884
    public void fcmovbe_ST(FPStackRegister st_i) {
        assemble0603((byte) 0xD0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcmovbe  }<i>st_i</i>
     * Example disassembly syntax: {@code fcmovbe   st, st(0)}
     */
    // Template#: 2630, Serial#: 12885
    public void fcmovbe_ST_r12885(FPStackRegister st_i) {
        assemble0604((byte) 0xD0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcmovbe  }<i>st_i</i>
     * Example disassembly syntax: {@code fcmovbe   st, st(0)}
     */
    // Template#: 2631, Serial#: 12886
    public void fcmovbe_ST_r12886(FPStackRegister st_i) {
        assemble0605((byte) 0xD0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcmove  }<i>st_i</i>
     * Example disassembly syntax: {@code fcmove    st, st(0)}
     */
    // Template#: 2632, Serial#: 12881
    public void fcmove_ST(FPStackRegister st_i) {
        assemble0603((byte) 0xC8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcmove  }<i>st_i</i>
     * Example disassembly syntax: {@code fcmove    st, st(0)}
     */
    // Template#: 2633, Serial#: 12882
    public void fcmove_ST_r12882(FPStackRegister st_i) {
        assemble0604((byte) 0xC8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcmove  }<i>st_i</i>
     * Example disassembly syntax: {@code fcmove    st, st(0)}
     */
    // Template#: 2634, Serial#: 12883
    public void fcmove_ST_r12883(FPStackRegister st_i) {
        assemble0605((byte) 0xC8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcmovnb  }<i>st_i</i>
     * Example disassembly syntax: {@code fcmovnb   st, st(0)}
     */
    // Template#: 2635, Serial#: 12893
    public void fcmovnb_ST(FPStackRegister st_i) {
        assemble0606((byte) 0xC0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcmovnb  }<i>st_i</i>
     * Example disassembly syntax: {@code fcmovnb   st, st(0)}
     */
    // Template#: 2636, Serial#: 12894
    public void fcmovnb_ST_r12894(FPStackRegister st_i) {
        assemble0607((byte) 0xC0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcmovnb  }<i>st_i</i>
     * Example disassembly syntax: {@code fcmovnb   st, st(0)}
     */
    // Template#: 2637, Serial#: 12895
    public void fcmovnb_ST_r12895(FPStackRegister st_i) {
        assemble0608((byte) 0xC0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcmovnbe  }<i>st_i</i>
     * Example disassembly syntax: {@code fcmovnbe  st, st(0)}
     */
    // Template#: 2638, Serial#: 12899
    public void fcmovnbe_ST(FPStackRegister st_i) {
        assemble0606((byte) 0xD0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcmovnbe  }<i>st_i</i>
     * Example disassembly syntax: {@code fcmovnbe  st, st(0)}
     */
    // Template#: 2639, Serial#: 12900
    public void fcmovnbe_ST_r12900(FPStackRegister st_i) {
        assemble0607((byte) 0xD0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcmovnbe  }<i>st_i</i>
     * Example disassembly syntax: {@code fcmovnbe  st, st(0)}
     */
    // Template#: 2640, Serial#: 12901
    public void fcmovnbe_ST_r12901(FPStackRegister st_i) {
        assemble0608((byte) 0xD0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcmovne  }<i>st_i</i>
     * Example disassembly syntax: {@code fcmovne   st, st(0)}
     */
    // Template#: 2641, Serial#: 12896
    public void fcmovne_ST(FPStackRegister st_i) {
        assemble0606((byte) 0xC8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcmovne  }<i>st_i</i>
     * Example disassembly syntax: {@code fcmovne   st, st(0)}
     */
    // Template#: 2642, Serial#: 12897
    public void fcmovne_ST_r12897(FPStackRegister st_i) {
        assemble0607((byte) 0xC8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcmovne  }<i>st_i</i>
     * Example disassembly syntax: {@code fcmovne   st, st(0)}
     */
    // Template#: 2643, Serial#: 12898
    public void fcmovne_ST_r12898(FPStackRegister st_i) {
        assemble0608((byte) 0xC8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcmovnu  }<i>st_i</i>
     * Example disassembly syntax: {@code fcmovnu   st, st(0)}
     */
    // Template#: 2644, Serial#: 12902
    public void fcmovnu_ST(FPStackRegister st_i) {
        assemble0606((byte) 0xD8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcmovnu  }<i>st_i</i>
     * Example disassembly syntax: {@code fcmovnu   st, st(0)}
     */
    // Template#: 2645, Serial#: 12903
    public void fcmovnu_ST_r12903(FPStackRegister st_i) {
        assemble0607((byte) 0xD8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcmovnu  }<i>st_i</i>
     * Example disassembly syntax: {@code fcmovnu   st, st(0)}
     */
    // Template#: 2646, Serial#: 12904
    public void fcmovnu_ST_r12904(FPStackRegister st_i) {
        assemble0608((byte) 0xD8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcmovu  }<i>st_i</i>
     * Example disassembly syntax: {@code fcmovu    st, st(0)}
     */
    // Template#: 2647, Serial#: 12887
    public void fcmovu_ST(FPStackRegister st_i) {
        assemble0603((byte) 0xD8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcmovu  }<i>st_i</i>
     * Example disassembly syntax: {@code fcmovu    st, st(0)}
     */
    // Template#: 2648, Serial#: 12888
    public void fcmovu_ST_r12888(FPStackRegister st_i) {
        assemble0604((byte) 0xD8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcmovu  }<i>st_i</i>
     * Example disassembly syntax: {@code fcmovu    st, st(0)}
     */
    // Template#: 2649, Serial#: 12889
    public void fcmovu_ST_r12889(FPStackRegister st_i) {
        assemble0605((byte) 0xD8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoms  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcoms     rbx[rsi * 4 + 18]}
     */
    // Template#: 2650, Serial#: 3957
    public void fcoms(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD8, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoms  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcoms     rbx[rsi * 4 + 18]}
     */
    // Template#: 2651, Serial#: 4021
    public void fcoms_r4021(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD8, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoms  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcoms     rbx[rsi * 4 + 18]}
     */
    // Template#: 2652, Serial#: 4085
    public void fcoms_r4085(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD8, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoml  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcoml     rbx[rsi * 4 + 18]}
     */
    // Template#: 2653, Serial#: 4629
    public void fcoml(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDC, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoml  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcoml     rbx[rsi * 4 + 18]}
     */
    // Template#: 2654, Serial#: 4693
    public void fcoml_r4693(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDC, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoml  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcoml     rbx[rsi * 4 + 18]}
     */
    // Template#: 2655, Serial#: 4757
    public void fcoml_r4757(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDC, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoms  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fcoms     [rbx + 18]}
     */
    // Template#: 2656, Serial#: 3956
    public void fcoms(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD8, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoms  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fcoms     [rbx + 18]}
     */
    // Template#: 2657, Serial#: 4020
    public void fcoms_r4020(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD8, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoms  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fcoms     [rbx + 18]}
     */
    // Template#: 2658, Serial#: 4084
    public void fcoms_r4084(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD8, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoml  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fcoml     [rbx + 18]}
     */
    // Template#: 2659, Serial#: 4628
    public void fcoml(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDC, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoml  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fcoml     [rbx + 18]}
     */
    // Template#: 2660, Serial#: 4692
    public void fcoml_r4692(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDC, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoml  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fcoml     [rbx + 18]}
     */
    // Template#: 2661, Serial#: 4756
    public void fcoml_r4756(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDC, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoms  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcoms     rbx[rsi * 4]}
     */
    // Template#: 2662, Serial#: 3929
    public void fcoms(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD8, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoms  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcoms     rbx[rsi * 4]}
     */
    // Template#: 2663, Serial#: 3993
    public void fcoms_r3993(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD8, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoms  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcoms     rbx[rsi * 4]}
     */
    // Template#: 2664, Serial#: 4057
    public void fcoms_r4057(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD8, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoml  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcoml     rbx[rsi * 4]}
     */
    // Template#: 2665, Serial#: 4601
    public void fcoml(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDC, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoml  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcoml     rbx[rsi * 4]}
     */
    // Template#: 2666, Serial#: 4665
    public void fcoml_r4665(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDC, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoml  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcoml     rbx[rsi * 4]}
     */
    // Template#: 2667, Serial#: 4729
    public void fcoml_r4729(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDC, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoms  }<i>destination</i>
     * Example disassembly syntax: {@code fcoms     [rbx]}
     */
    // Template#: 2668, Serial#: 3928
    public void fcoms(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD8, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoms  }<i>destination</i>
     * Example disassembly syntax: {@code fcoms     [rbx]}
     */
    // Template#: 2669, Serial#: 3992
    public void fcoms_r3992(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD8, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoms  }<i>destination</i>
     * Example disassembly syntax: {@code fcoms     [rbx]}
     */
    // Template#: 2670, Serial#: 4056
    public void fcoms_r4056(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD8, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoml  }<i>destination</i>
     * Example disassembly syntax: {@code fcoml     [rbx]}
     */
    // Template#: 2671, Serial#: 4600
    public void fcoml(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDC, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoml  }<i>destination</i>
     * Example disassembly syntax: {@code fcoml     [rbx]}
     */
    // Template#: 2672, Serial#: 4664
    public void fcoml_r4664(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDC, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoml  }<i>destination</i>
     * Example disassembly syntax: {@code fcoml     [rbx]}
     */
    // Template#: 2673, Serial#: 4728
    public void fcoml_r4728(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDC, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcom  }<i>st_i</i>
     * Example disassembly syntax: {@code fcom      st(0)}
     */
    // Template#: 2674, Serial#: 12767
    public void fcom(FPStackRegister st_i) {
        assemble0591((byte) 0xD0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcom  }<i>st_i</i>
     * Example disassembly syntax: {@code fcom      st(0)}
     */
    // Template#: 2675, Serial#: 12768
    public void fcom_r12768(FPStackRegister st_i) {
        assemble0592((byte) 0xD0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcom  }<i>st_i</i>
     * Example disassembly syntax: {@code fcom      st(0)}
     */
    // Template#: 2676, Serial#: 12769
    public void fcom_r12769(FPStackRegister st_i) {
        assemble0593((byte) 0xD0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoms  }<i>rel32</i>
     * Example disassembly syntax: {@code fcoms     [L1: +305419896]}
     */
    // Template#: 2677, Serial#: 3931
    public void rip_fcoms(int rel32) {
        assemble0341((byte) 0xD8, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoms  }<i>rel32</i>
     * Example disassembly syntax: {@code fcoms     [L1: +305419896]}
     */
    // Template#: 2678, Serial#: 3995
    public void rip_fcoms_r3995(int rel32) {
        assemble0582((byte) 0xD8, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoms  }<i>rel32</i>
     * Example disassembly syntax: {@code fcoms     [L1: +305419896]}
     */
    // Template#: 2679, Serial#: 4059
    public void rip_fcoms_r4059(int rel32) {
        assemble0342((byte) 0xD8, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoml  }<i>rel32</i>
     * Example disassembly syntax: {@code fcoml     [L1: +305419896]}
     */
    // Template#: 2680, Serial#: 4603
    public void rip_fcoml(int rel32) {
        assemble0341((byte) 0xDC, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoml  }<i>rel32</i>
     * Example disassembly syntax: {@code fcoml     [L1: +305419896]}
     */
    // Template#: 2681, Serial#: 4667
    public void rip_fcoml_r4667(int rel32) {
        assemble0582((byte) 0xDC, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoml  }<i>rel32</i>
     * Example disassembly syntax: {@code fcoml     [L1: +305419896]}
     */
    // Template#: 2682, Serial#: 4731
    public void rip_fcoml_r4731(int rel32) {
        assemble0342((byte) 0xDC, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoms  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcoms     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2683, Serial#: 3973
    public void fcoms(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD8, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoms  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcoms     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2684, Serial#: 4037
    public void fcoms_r4037(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD8, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoms  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcoms     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2685, Serial#: 4101
    public void fcoms_r4101(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD8, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoml  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcoml     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2686, Serial#: 4645
    public void fcoml(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDC, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoml  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcoml     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2687, Serial#: 4709
    public void fcoml_r4709(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDC, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoml  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcoml     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2688, Serial#: 4773
    public void fcoml_r4773(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDC, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoms  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcoms     0x12345678[rsi * 4]}
     */
    // Template#: 2689, Serial#: 3930
    public void m_fcoms(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD8, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoms  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcoms     0x12345678[rsi * 4]}
     */
    // Template#: 2690, Serial#: 3994
    public void m_fcoms_r3994(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD8, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoms  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcoms     0x12345678[rsi * 4]}
     */
    // Template#: 2691, Serial#: 4058
    public void m_fcoms_r4058(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD8, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoml  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcoml     0x12345678[rsi * 4]}
     */
    // Template#: 2692, Serial#: 4602
    public void m_fcoml(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDC, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoml  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcoml     0x12345678[rsi * 4]}
     */
    // Template#: 2693, Serial#: 4666
    public void m_fcoml_r4666(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDC, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoml  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcoml     0x12345678[rsi * 4]}
     */
    // Template#: 2694, Serial#: 4730
    public void m_fcoml_r4730(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDC, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoms  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fcoms     [rbx + 305419896]}
     */
    // Template#: 2695, Serial#: 3972
    public void fcoms(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD8, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoms  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fcoms     [rbx + 305419896]}
     */
    // Template#: 2696, Serial#: 4036
    public void fcoms_r4036(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD8, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoms  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fcoms     [rbx + 305419896]}
     */
    // Template#: 2697, Serial#: 4100
    public void fcoms_r4100(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD8, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoml  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fcoml     [rbx + 305419896]}
     */
    // Template#: 2698, Serial#: 4644
    public void fcoml(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDC, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoml  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fcoml     [rbx + 305419896]}
     */
    // Template#: 2699, Serial#: 4708
    public void fcoml_r4708(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDC, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcoml  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fcoml     [rbx + 305419896]}
     */
    // Template#: 2700, Serial#: 4772
    public void fcoml_r4772(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDC, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcom2  }<i>st_i</i>
     * Example disassembly syntax: {@code fcom2     st(0)}
     */
    // Template#: 2701, Serial#: 12923
    public void fcom2(FPStackRegister st_i) {
        assemble0594((byte) 0xD0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcom2  }<i>st_i</i>
     * Example disassembly syntax: {@code fcom2     st(0)}
     */
    // Template#: 2702, Serial#: 12924
    public void fcom2_r12924(FPStackRegister st_i) {
        assemble0595((byte) 0xD0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcom2  }<i>st_i</i>
     * Example disassembly syntax: {@code fcom2     st(0)}
     */
    // Template#: 2703, Serial#: 12925
    public void fcom2_r12925(FPStackRegister st_i) {
        assemble0596((byte) 0xD0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomi  }<i>st_i</i>
     * Example disassembly syntax: {@code fcomi     st, st(0)}
     */
    // Template#: 2704, Serial#: 12914
    public void fcomi_ST(FPStackRegister st_i) {
        assemble0606((byte) 0xF0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomi  }<i>st_i</i>
     * Example disassembly syntax: {@code fcomi     st, st(0)}
     */
    // Template#: 2705, Serial#: 12915
    public void fcomi_ST_r12915(FPStackRegister st_i) {
        assemble0607((byte) 0xF0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomi  }<i>st_i</i>
     * Example disassembly syntax: {@code fcomi     st, st(0)}
     */
    // Template#: 2706, Serial#: 12916
    public void fcomi_ST_r12916(FPStackRegister st_i) {
        assemble0608((byte) 0xF0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomip  }<i>st_i</i>
     * Example disassembly syntax: {@code fcomip    st, st(0)}
     */
    // Template#: 2707, Serial#: 13001
    public void fcomip_ST(FPStackRegister st_i) {
        assemble0609((byte) 0xF0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomip  }<i>st_i</i>
     * Example disassembly syntax: {@code fcomip    st, st(0)}
     */
    // Template#: 2708, Serial#: 13002
    public void fcomip_ST_r13002(FPStackRegister st_i) {
        assemble0610((byte) 0xF0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomip  }<i>st_i</i>
     * Example disassembly syntax: {@code fcomip    st, st(0)}
     */
    // Template#: 2709, Serial#: 13003
    public void fcomip_ST_r13003(FPStackRegister st_i) {
        assemble0611((byte) 0xF0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomps  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcomps    rbx[rsi * 4 + 18]}
     */
    // Template#: 2710, Serial#: 3959
    public void fcomps(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD8, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomps  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcomps    rbx[rsi * 4 + 18]}
     */
    // Template#: 2711, Serial#: 4023
    public void fcomps_r4023(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD8, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomps  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcomps    rbx[rsi * 4 + 18]}
     */
    // Template#: 2712, Serial#: 4087
    public void fcomps_r4087(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD8, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcompl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcompl    rbx[rsi * 4 + 18]}
     */
    // Template#: 2713, Serial#: 4631
    public void fcompl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDC, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcompl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcompl    rbx[rsi * 4 + 18]}
     */
    // Template#: 2714, Serial#: 4695
    public void fcompl_r4695(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDC, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcompl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcompl    rbx[rsi * 4 + 18]}
     */
    // Template#: 2715, Serial#: 4759
    public void fcompl_r4759(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDC, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomps  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fcomps    [rbx + 18]}
     */
    // Template#: 2716, Serial#: 3958
    public void fcomps(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD8, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomps  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fcomps    [rbx + 18]}
     */
    // Template#: 2717, Serial#: 4022
    public void fcomps_r4022(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD8, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomps  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fcomps    [rbx + 18]}
     */
    // Template#: 2718, Serial#: 4086
    public void fcomps_r4086(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD8, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcompl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fcompl    [rbx + 18]}
     */
    // Template#: 2719, Serial#: 4630
    public void fcompl(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDC, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcompl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fcompl    [rbx + 18]}
     */
    // Template#: 2720, Serial#: 4694
    public void fcompl_r4694(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDC, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcompl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fcompl    [rbx + 18]}
     */
    // Template#: 2721, Serial#: 4758
    public void fcompl_r4758(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDC, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomps  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcomps    rbx[rsi * 4]}
     */
    // Template#: 2722, Serial#: 3933
    public void fcomps(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD8, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomps  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcomps    rbx[rsi * 4]}
     */
    // Template#: 2723, Serial#: 3997
    public void fcomps_r3997(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD8, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomps  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcomps    rbx[rsi * 4]}
     */
    // Template#: 2724, Serial#: 4061
    public void fcomps_r4061(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD8, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcompl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcompl    rbx[rsi * 4]}
     */
    // Template#: 2725, Serial#: 4605
    public void fcompl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDC, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcompl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcompl    rbx[rsi * 4]}
     */
    // Template#: 2726, Serial#: 4669
    public void fcompl_r4669(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDC, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcompl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcompl    rbx[rsi * 4]}
     */
    // Template#: 2727, Serial#: 4733
    public void fcompl_r4733(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDC, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomps  }<i>destination</i>
     * Example disassembly syntax: {@code fcomps    [rbx]}
     */
    // Template#: 2728, Serial#: 3932
    public void fcomps(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD8, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomps  }<i>destination</i>
     * Example disassembly syntax: {@code fcomps    [rbx]}
     */
    // Template#: 2729, Serial#: 3996
    public void fcomps_r3996(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD8, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomps  }<i>destination</i>
     * Example disassembly syntax: {@code fcomps    [rbx]}
     */
    // Template#: 2730, Serial#: 4060
    public void fcomps_r4060(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD8, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcompl  }<i>destination</i>
     * Example disassembly syntax: {@code fcompl    [rbx]}
     */
    // Template#: 2731, Serial#: 4604
    public void fcompl(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDC, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcompl  }<i>destination</i>
     * Example disassembly syntax: {@code fcompl    [rbx]}
     */
    // Template#: 2732, Serial#: 4668
    public void fcompl_r4668(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDC, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcompl  }<i>destination</i>
     * Example disassembly syntax: {@code fcompl    [rbx]}
     */
    // Template#: 2733, Serial#: 4732
    public void fcompl_r4732(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDC, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomp  }<i>st_i</i>
     * Example disassembly syntax: {@code fcomp     st(0)}
     */
    // Template#: 2734, Serial#: 12770
    public void fcomp(FPStackRegister st_i) {
        assemble0591((byte) 0xD8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomp  }<i>st_i</i>
     * Example disassembly syntax: {@code fcomp     st(0)}
     */
    // Template#: 2735, Serial#: 12771
    public void fcomp_r12771(FPStackRegister st_i) {
        assemble0592((byte) 0xD8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomp  }<i>st_i</i>
     * Example disassembly syntax: {@code fcomp     st(0)}
     */
    // Template#: 2736, Serial#: 12772
    public void fcomp_r12772(FPStackRegister st_i) {
        assemble0593((byte) 0xD8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomps  }<i>rel32</i>
     * Example disassembly syntax: {@code fcomps    [L1: +305419896]}
     */
    // Template#: 2737, Serial#: 3935
    public void rip_fcomps(int rel32) {
        assemble0341((byte) 0xD8, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomps  }<i>rel32</i>
     * Example disassembly syntax: {@code fcomps    [L1: +305419896]}
     */
    // Template#: 2738, Serial#: 3999
    public void rip_fcomps_r3999(int rel32) {
        assemble0582((byte) 0xD8, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomps  }<i>rel32</i>
     * Example disassembly syntax: {@code fcomps    [L1: +305419896]}
     */
    // Template#: 2739, Serial#: 4063
    public void rip_fcomps_r4063(int rel32) {
        assemble0342((byte) 0xD8, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcompl  }<i>rel32</i>
     * Example disassembly syntax: {@code fcompl    [L1: +305419896]}
     */
    // Template#: 2740, Serial#: 4607
    public void rip_fcompl(int rel32) {
        assemble0341((byte) 0xDC, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcompl  }<i>rel32</i>
     * Example disassembly syntax: {@code fcompl    [L1: +305419896]}
     */
    // Template#: 2741, Serial#: 4671
    public void rip_fcompl_r4671(int rel32) {
        assemble0582((byte) 0xDC, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcompl  }<i>rel32</i>
     * Example disassembly syntax: {@code fcompl    [L1: +305419896]}
     */
    // Template#: 2742, Serial#: 4735
    public void rip_fcompl_r4735(int rel32) {
        assemble0342((byte) 0xDC, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomps  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcomps    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2743, Serial#: 3975
    public void fcomps(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD8, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomps  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcomps    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2744, Serial#: 4039
    public void fcomps_r4039(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD8, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomps  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcomps    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2745, Serial#: 4103
    public void fcomps_r4103(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD8, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcompl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcompl    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2746, Serial#: 4647
    public void fcompl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDC, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcompl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcompl    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2747, Serial#: 4711
    public void fcompl_r4711(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDC, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcompl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcompl    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2748, Serial#: 4775
    public void fcompl_r4775(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDC, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomps  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcomps    0x12345678[rsi * 4]}
     */
    // Template#: 2749, Serial#: 3934
    public void m_fcomps(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD8, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomps  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcomps    0x12345678[rsi * 4]}
     */
    // Template#: 2750, Serial#: 3998
    public void m_fcomps_r3998(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD8, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomps  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcomps    0x12345678[rsi * 4]}
     */
    // Template#: 2751, Serial#: 4062
    public void m_fcomps_r4062(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD8, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcompl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcompl    0x12345678[rsi * 4]}
     */
    // Template#: 2752, Serial#: 4606
    public void m_fcompl(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDC, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcompl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcompl    0x12345678[rsi * 4]}
     */
    // Template#: 2753, Serial#: 4670
    public void m_fcompl_r4670(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDC, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcompl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fcompl    0x12345678[rsi * 4]}
     */
    // Template#: 2754, Serial#: 4734
    public void m_fcompl_r4734(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDC, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomps  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fcomps    [rbx + 305419896]}
     */
    // Template#: 2755, Serial#: 3974
    public void fcomps(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD8, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomps  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fcomps    [rbx + 305419896]}
     */
    // Template#: 2756, Serial#: 4038
    public void fcomps_r4038(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD8, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomps  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fcomps    [rbx + 305419896]}
     */
    // Template#: 2757, Serial#: 4102
    public void fcomps_r4102(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD8, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcompl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fcompl    [rbx + 305419896]}
     */
    // Template#: 2758, Serial#: 4646
    public void fcompl(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDC, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcompl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fcompl    [rbx + 305419896]}
     */
    // Template#: 2759, Serial#: 4710
    public void fcompl_r4710(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDC, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcompl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fcompl    [rbx + 305419896]}
     */
    // Template#: 2760, Serial#: 4774
    public void fcompl_r4774(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDC, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomp3  }<i>st_i</i>
     * Example disassembly syntax: {@code fcomp3    st(0)}
     */
    // Template#: 2761, Serial#: 12926
    public void fcomp3(FPStackRegister st_i) {
        assemble0594((byte) 0xD8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomp3  }<i>st_i</i>
     * Example disassembly syntax: {@code fcomp3    st(0)}
     */
    // Template#: 2762, Serial#: 12927
    public void fcomp3_r12927(FPStackRegister st_i) {
        assemble0595((byte) 0xD8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomp3  }<i>st_i</i>
     * Example disassembly syntax: {@code fcomp3    st(0)}
     */
    // Template#: 2763, Serial#: 12928
    public void fcomp3_r12928(FPStackRegister st_i) {
        assemble0596((byte) 0xD8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomp5  }<i>st_i</i>
     * Example disassembly syntax: {@code fcomp5    st(0), st}
     */
    // Template#: 2764, Serial#: 12965
    public void fcomp5___ST(FPStackRegister st_i) {
        assemble0597((byte) 0xD0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomp5  }<i>st_i</i>
     * Example disassembly syntax: {@code fcomp5    st(0), st}
     */
    // Template#: 2765, Serial#: 12966
    public void fcomp5___ST_r12966(FPStackRegister st_i) {
        assemble0598((byte) 0xD0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcomp5  }<i>st_i</i>
     * Example disassembly syntax: {@code fcomp5    st(0), st}
     */
    // Template#: 2766, Serial#: 12967
    public void fcomp5___ST_r12967(FPStackRegister st_i) {
        assemble0599((byte) 0xD0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcompp  }
     * Example disassembly syntax: {@code fcompp  }
     */
    // Template#: 2767, Serial#: 12968
    public void fcompp() {
        assemble0612((byte) 0xD9);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcompp  }
     * Example disassembly syntax: {@code fcompp  }
     */
    // Template#: 2768, Serial#: 12969
    public void fcompp_r12969() {
        assemble0613((byte) 0xD9);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcompp  }
     * Example disassembly syntax: {@code fcompp  }
     */
    // Template#: 2769, Serial#: 12970
    public void fcompp_r12970() {
        assemble0614((byte) 0xD9);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcos  }
     * Example disassembly syntax: {@code fcos    }
     */
    // Template#: 2770, Serial#: 12875
    public void fcos() {
        assemble0588((byte) 0xFF);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcos  }
     * Example disassembly syntax: {@code fcos    }
     */
    // Template#: 2771, Serial#: 12876
    public void fcos_r12876() {
        assemble0589((byte) 0xFF);
    }

    /**
     * Pseudo-external assembler syntax: {@code fcos  }
     * Example disassembly syntax: {@code fcos    }
     */
    // Template#: 2772, Serial#: 12877
    public void fcos_r12877() {
        assemble0590((byte) 0xFF);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdecstp  }
     * Example disassembly syntax: {@code fdecstp }
     */
    // Template#: 2773, Serial#: 12848
    public void fdecstp() {
        assemble0588((byte) 0xF6);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdecstp  }
     * Example disassembly syntax: {@code fdecstp }
     */
    // Template#: 2774, Serial#: 12849
    public void fdecstp_r12849() {
        assemble0589((byte) 0xF6);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdecstp  }
     * Example disassembly syntax: {@code fdecstp }
     */
    // Template#: 2775, Serial#: 12850
    public void fdecstp_r12850() {
        assemble0590((byte) 0xF6);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivs  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivs     rbx[rsi * 4 + 18]}
     */
    // Template#: 2776, Serial#: 3965
    public void fdivs(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD8, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivs  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivs     rbx[rsi * 4 + 18]}
     */
    // Template#: 2777, Serial#: 4029
    public void fdivs_r4029(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD8, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivs  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivs     rbx[rsi * 4 + 18]}
     */
    // Template#: 2778, Serial#: 4093
    public void fdivs_r4093(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD8, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivl     rbx[rsi * 4 + 18]}
     */
    // Template#: 2779, Serial#: 4637
    public void fdivl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDC, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivl     rbx[rsi * 4 + 18]}
     */
    // Template#: 2780, Serial#: 4701
    public void fdivl_r4701(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDC, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivl     rbx[rsi * 4 + 18]}
     */
    // Template#: 2781, Serial#: 4765
    public void fdivl_r4765(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDC, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivs  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fdivs     [rbx + 18]}
     */
    // Template#: 2782, Serial#: 3964
    public void fdivs(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD8, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivs  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fdivs     [rbx + 18]}
     */
    // Template#: 2783, Serial#: 4028
    public void fdivs_r4028(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD8, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivs  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fdivs     [rbx + 18]}
     */
    // Template#: 2784, Serial#: 4092
    public void fdivs_r4092(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD8, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fdivl     [rbx + 18]}
     */
    // Template#: 2785, Serial#: 4636
    public void fdivl(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDC, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fdivl     [rbx + 18]}
     */
    // Template#: 2786, Serial#: 4700
    public void fdivl_r4700(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDC, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fdivl     [rbx + 18]}
     */
    // Template#: 2787, Serial#: 4764
    public void fdivl_r4764(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDC, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivs  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivs     rbx[rsi * 4]}
     */
    // Template#: 2788, Serial#: 3945
    public void fdivs(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD8, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivs  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivs     rbx[rsi * 4]}
     */
    // Template#: 2789, Serial#: 4009
    public void fdivs_r4009(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD8, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivs  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivs     rbx[rsi * 4]}
     */
    // Template#: 2790, Serial#: 4073
    public void fdivs_r4073(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD8, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivl     rbx[rsi * 4]}
     */
    // Template#: 2791, Serial#: 4617
    public void fdivl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDC, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivl     rbx[rsi * 4]}
     */
    // Template#: 2792, Serial#: 4681
    public void fdivl_r4681(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDC, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivl     rbx[rsi * 4]}
     */
    // Template#: 2793, Serial#: 4745
    public void fdivl_r4745(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDC, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivs  }<i>destination</i>
     * Example disassembly syntax: {@code fdivs     [rbx]}
     */
    // Template#: 2794, Serial#: 3944
    public void fdivs(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD8, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivs  }<i>destination</i>
     * Example disassembly syntax: {@code fdivs     [rbx]}
     */
    // Template#: 2795, Serial#: 4008
    public void fdivs_r4008(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD8, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivs  }<i>destination</i>
     * Example disassembly syntax: {@code fdivs     [rbx]}
     */
    // Template#: 2796, Serial#: 4072
    public void fdivs_r4072(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD8, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivl  }<i>destination</i>
     * Example disassembly syntax: {@code fdivl     [rbx]}
     */
    // Template#: 2797, Serial#: 4616
    public void fdivl(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDC, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivl  }<i>destination</i>
     * Example disassembly syntax: {@code fdivl     [rbx]}
     */
    // Template#: 2798, Serial#: 4680
    public void fdivl_r4680(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDC, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivl  }<i>destination</i>
     * Example disassembly syntax: {@code fdivl     [rbx]}
     */
    // Template#: 2799, Serial#: 4744
    public void fdivl_r4744(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDC, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdiv  }<i>st_i</i>
     * Example disassembly syntax: {@code fdiv      st, st(0)}
     */
    // Template#: 2800, Serial#: 12779
    public void fdiv_ST(FPStackRegister st_i) {
        assemble0591((byte) 0xF0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdiv  }<i>st_i</i>
     * Example disassembly syntax: {@code fdiv      st, st(0)}
     */
    // Template#: 2801, Serial#: 12780
    public void fdiv_ST_r12780(FPStackRegister st_i) {
        assemble0592((byte) 0xF0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdiv  }<i>st_i</i>
     * Example disassembly syntax: {@code fdiv      st, st(0)}
     */
    // Template#: 2802, Serial#: 12781
    public void fdiv_ST_r12781(FPStackRegister st_i) {
        assemble0593((byte) 0xF0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdiv  }<i>st_i</i>
     * Example disassembly syntax: {@code fdiv      st(0), st}
     */
    // Template#: 2803, Serial#: 12935
    public void fdiv___ST(FPStackRegister st_i) {
        assemble0594((byte) 0xF0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdiv  }<i>st_i</i>
     * Example disassembly syntax: {@code fdiv      st(0), st}
     */
    // Template#: 2804, Serial#: 12936
    public void fdiv___ST_r12936(FPStackRegister st_i) {
        assemble0595((byte) 0xF0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdiv  }<i>st_i</i>
     * Example disassembly syntax: {@code fdiv      st(0), st}
     */
    // Template#: 2805, Serial#: 12937
    public void fdiv___ST_r12937(FPStackRegister st_i) {
        assemble0596((byte) 0xF0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivs  }<i>rel32</i>
     * Example disassembly syntax: {@code fdivs     [L1: +305419896]}
     */
    // Template#: 2806, Serial#: 3947
    public void rip_fdivs(int rel32) {
        assemble0341((byte) 0xD8, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivs  }<i>rel32</i>
     * Example disassembly syntax: {@code fdivs     [L1: +305419896]}
     */
    // Template#: 2807, Serial#: 4011
    public void rip_fdivs_r4011(int rel32) {
        assemble0582((byte) 0xD8, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivs  }<i>rel32</i>
     * Example disassembly syntax: {@code fdivs     [L1: +305419896]}
     */
    // Template#: 2808, Serial#: 4075
    public void rip_fdivs_r4075(int rel32) {
        assemble0342((byte) 0xD8, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivl  }<i>rel32</i>
     * Example disassembly syntax: {@code fdivl     [L1: +305419896]}
     */
    // Template#: 2809, Serial#: 4619
    public void rip_fdivl(int rel32) {
        assemble0341((byte) 0xDC, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivl  }<i>rel32</i>
     * Example disassembly syntax: {@code fdivl     [L1: +305419896]}
     */
    // Template#: 2810, Serial#: 4683
    public void rip_fdivl_r4683(int rel32) {
        assemble0582((byte) 0xDC, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivl  }<i>rel32</i>
     * Example disassembly syntax: {@code fdivl     [L1: +305419896]}
     */
    // Template#: 2811, Serial#: 4747
    public void rip_fdivl_r4747(int rel32) {
        assemble0342((byte) 0xDC, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivs  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivs     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2812, Serial#: 3981
    public void fdivs(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD8, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivs  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivs     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2813, Serial#: 4045
    public void fdivs_r4045(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD8, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivs  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivs     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2814, Serial#: 4109
    public void fdivs_r4109(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD8, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivl     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2815, Serial#: 4653
    public void fdivl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDC, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivl     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2816, Serial#: 4717
    public void fdivl_r4717(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDC, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivl     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2817, Serial#: 4781
    public void fdivl_r4781(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDC, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivs  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivs     0x12345678[rsi * 4]}
     */
    // Template#: 2818, Serial#: 3946
    public void m_fdivs(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD8, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivs  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivs     0x12345678[rsi * 4]}
     */
    // Template#: 2819, Serial#: 4010
    public void m_fdivs_r4010(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD8, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivs  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivs     0x12345678[rsi * 4]}
     */
    // Template#: 2820, Serial#: 4074
    public void m_fdivs_r4074(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD8, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivl     0x12345678[rsi * 4]}
     */
    // Template#: 2821, Serial#: 4618
    public void m_fdivl(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDC, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivl     0x12345678[rsi * 4]}
     */
    // Template#: 2822, Serial#: 4682
    public void m_fdivl_r4682(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDC, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivl     0x12345678[rsi * 4]}
     */
    // Template#: 2823, Serial#: 4746
    public void m_fdivl_r4746(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDC, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivs  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fdivs     [rbx + 305419896]}
     */
    // Template#: 2824, Serial#: 3980
    public void fdivs(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD8, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivs  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fdivs     [rbx + 305419896]}
     */
    // Template#: 2825, Serial#: 4044
    public void fdivs_r4044(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD8, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivs  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fdivs     [rbx + 305419896]}
     */
    // Template#: 2826, Serial#: 4108
    public void fdivs_r4108(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD8, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fdivl     [rbx + 305419896]}
     */
    // Template#: 2827, Serial#: 4652
    public void fdivl(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDC, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fdivl     [rbx + 305419896]}
     */
    // Template#: 2828, Serial#: 4716
    public void fdivl_r4716(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDC, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fdivl     [rbx + 305419896]}
     */
    // Template#: 2829, Serial#: 4780
    public void fdivl_r4780(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDC, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrp  }<i>st_i</i>
     * Example disassembly syntax: {@code fdivrp    st(0), st}
     */
    // Template#: 2830, Serial#: 12980
    public void fdivp___ST(FPStackRegister st_i) {
        assemble0597((byte) 0xF8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrp  }<i>st_i</i>
     * Example disassembly syntax: {@code fdivrp    st(0), st}
     */
    // Template#: 2831, Serial#: 12981
    public void fdivp___ST_r12981(FPStackRegister st_i) {
        assemble0598((byte) 0xF8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrp  }<i>st_i</i>
     * Example disassembly syntax: {@code fdivrp    st(0), st}
     */
    // Template#: 2832, Serial#: 12982
    public void fdivp___ST_r12982(FPStackRegister st_i) {
        assemble0599((byte) 0xF8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrs  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivrs    rbx[rsi * 4 + 18]}
     */
    // Template#: 2833, Serial#: 3967
    public void fdivrs(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD8, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrs  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivrs    rbx[rsi * 4 + 18]}
     */
    // Template#: 2834, Serial#: 4031
    public void fdivrs_r4031(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD8, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrs  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivrs    rbx[rsi * 4 + 18]}
     */
    // Template#: 2835, Serial#: 4095
    public void fdivrs_r4095(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD8, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivrl    rbx[rsi * 4 + 18]}
     */
    // Template#: 2836, Serial#: 4639
    public void fdivrl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDC, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivrl    rbx[rsi * 4 + 18]}
     */
    // Template#: 2837, Serial#: 4703
    public void fdivrl_r4703(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDC, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivrl    rbx[rsi * 4 + 18]}
     */
    // Template#: 2838, Serial#: 4767
    public void fdivrl_r4767(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDC, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrs  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fdivrs    [rbx + 18]}
     */
    // Template#: 2839, Serial#: 3966
    public void fdivrs(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD8, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrs  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fdivrs    [rbx + 18]}
     */
    // Template#: 2840, Serial#: 4030
    public void fdivrs_r4030(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD8, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrs  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fdivrs    [rbx + 18]}
     */
    // Template#: 2841, Serial#: 4094
    public void fdivrs_r4094(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD8, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fdivrl    [rbx + 18]}
     */
    // Template#: 2842, Serial#: 4638
    public void fdivrl(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDC, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fdivrl    [rbx + 18]}
     */
    // Template#: 2843, Serial#: 4702
    public void fdivrl_r4702(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDC, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fdivrl    [rbx + 18]}
     */
    // Template#: 2844, Serial#: 4766
    public void fdivrl_r4766(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDC, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrs  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivrs    rbx[rsi * 4]}
     */
    // Template#: 2845, Serial#: 3949
    public void fdivrs(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD8, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrs  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivrs    rbx[rsi * 4]}
     */
    // Template#: 2846, Serial#: 4013
    public void fdivrs_r4013(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD8, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrs  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivrs    rbx[rsi * 4]}
     */
    // Template#: 2847, Serial#: 4077
    public void fdivrs_r4077(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD8, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivrl    rbx[rsi * 4]}
     */
    // Template#: 2848, Serial#: 4621
    public void fdivrl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDC, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivrl    rbx[rsi * 4]}
     */
    // Template#: 2849, Serial#: 4685
    public void fdivrl_r4685(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDC, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivrl    rbx[rsi * 4]}
     */
    // Template#: 2850, Serial#: 4749
    public void fdivrl_r4749(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDC, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrs  }<i>destination</i>
     * Example disassembly syntax: {@code fdivrs    [rbx]}
     */
    // Template#: 2851, Serial#: 3948
    public void fdivrs(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD8, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrs  }<i>destination</i>
     * Example disassembly syntax: {@code fdivrs    [rbx]}
     */
    // Template#: 2852, Serial#: 4012
    public void fdivrs_r4012(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD8, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrs  }<i>destination</i>
     * Example disassembly syntax: {@code fdivrs    [rbx]}
     */
    // Template#: 2853, Serial#: 4076
    public void fdivrs_r4076(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD8, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrl  }<i>destination</i>
     * Example disassembly syntax: {@code fdivrl    [rbx]}
     */
    // Template#: 2854, Serial#: 4620
    public void fdivrl(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDC, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrl  }<i>destination</i>
     * Example disassembly syntax: {@code fdivrl    [rbx]}
     */
    // Template#: 2855, Serial#: 4684
    public void fdivrl_r4684(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDC, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrl  }<i>destination</i>
     * Example disassembly syntax: {@code fdivrl    [rbx]}
     */
    // Template#: 2856, Serial#: 4748
    public void fdivrl_r4748(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDC, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivr  }<i>st_i</i>
     * Example disassembly syntax: {@code fdivr     st, st(0)}
     */
    // Template#: 2857, Serial#: 12782
    public void fdivr_ST(FPStackRegister st_i) {
        assemble0591((byte) 0xF8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivr  }<i>st_i</i>
     * Example disassembly syntax: {@code fdivr     st, st(0)}
     */
    // Template#: 2858, Serial#: 12783
    public void fdivr_ST_r12783(FPStackRegister st_i) {
        assemble0592((byte) 0xF8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivr  }<i>st_i</i>
     * Example disassembly syntax: {@code fdivr     st, st(0)}
     */
    // Template#: 2859, Serial#: 12784
    public void fdivr_ST_r12784(FPStackRegister st_i) {
        assemble0593((byte) 0xF8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivr  }<i>st_i</i>
     * Example disassembly syntax: {@code fdivr     st(0), st}
     */
    // Template#: 2860, Serial#: 12938
    public void fdivr___ST(FPStackRegister st_i) {
        assemble0594((byte) 0xF8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivr  }<i>st_i</i>
     * Example disassembly syntax: {@code fdivr     st(0), st}
     */
    // Template#: 2861, Serial#: 12939
    public void fdivr___ST_r12939(FPStackRegister st_i) {
        assemble0595((byte) 0xF8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivr  }<i>st_i</i>
     * Example disassembly syntax: {@code fdivr     st(0), st}
     */
    // Template#: 2862, Serial#: 12940
    public void fdivr___ST_r12940(FPStackRegister st_i) {
        assemble0596((byte) 0xF8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrs  }<i>rel32</i>
     * Example disassembly syntax: {@code fdivrs    [L1: +305419896]}
     */
    // Template#: 2863, Serial#: 3951
    public void rip_fdivrs(int rel32) {
        assemble0341((byte) 0xD8, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrs  }<i>rel32</i>
     * Example disassembly syntax: {@code fdivrs    [L1: +305419896]}
     */
    // Template#: 2864, Serial#: 4015
    public void rip_fdivrs_r4015(int rel32) {
        assemble0582((byte) 0xD8, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrs  }<i>rel32</i>
     * Example disassembly syntax: {@code fdivrs    [L1: +305419896]}
     */
    // Template#: 2865, Serial#: 4079
    public void rip_fdivrs_r4079(int rel32) {
        assemble0342((byte) 0xD8, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrl  }<i>rel32</i>
     * Example disassembly syntax: {@code fdivrl    [L1: +305419896]}
     */
    // Template#: 2866, Serial#: 4623
    public void rip_fdivrl(int rel32) {
        assemble0341((byte) 0xDC, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrl  }<i>rel32</i>
     * Example disassembly syntax: {@code fdivrl    [L1: +305419896]}
     */
    // Template#: 2867, Serial#: 4687
    public void rip_fdivrl_r4687(int rel32) {
        assemble0582((byte) 0xDC, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrl  }<i>rel32</i>
     * Example disassembly syntax: {@code fdivrl    [L1: +305419896]}
     */
    // Template#: 2868, Serial#: 4751
    public void rip_fdivrl_r4751(int rel32) {
        assemble0342((byte) 0xDC, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrs  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivrs    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2869, Serial#: 3983
    public void fdivrs(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD8, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrs  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivrs    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2870, Serial#: 4047
    public void fdivrs_r4047(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD8, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrs  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivrs    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2871, Serial#: 4111
    public void fdivrs_r4111(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD8, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivrl    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2872, Serial#: 4655
    public void fdivrl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDC, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivrl    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2873, Serial#: 4719
    public void fdivrl_r4719(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDC, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivrl    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2874, Serial#: 4783
    public void fdivrl_r4783(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDC, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrs  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivrs    0x12345678[rsi * 4]}
     */
    // Template#: 2875, Serial#: 3950
    public void m_fdivrs(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD8, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrs  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivrs    0x12345678[rsi * 4]}
     */
    // Template#: 2876, Serial#: 4014
    public void m_fdivrs_r4014(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD8, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrs  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivrs    0x12345678[rsi * 4]}
     */
    // Template#: 2877, Serial#: 4078
    public void m_fdivrs_r4078(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD8, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivrl    0x12345678[rsi * 4]}
     */
    // Template#: 2878, Serial#: 4622
    public void m_fdivrl(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDC, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivrl    0x12345678[rsi * 4]}
     */
    // Template#: 2879, Serial#: 4686
    public void m_fdivrl_r4686(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDC, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fdivrl    0x12345678[rsi * 4]}
     */
    // Template#: 2880, Serial#: 4750
    public void m_fdivrl_r4750(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDC, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrs  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fdivrs    [rbx + 305419896]}
     */
    // Template#: 2881, Serial#: 3982
    public void fdivrs(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD8, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrs  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fdivrs    [rbx + 305419896]}
     */
    // Template#: 2882, Serial#: 4046
    public void fdivrs_r4046(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD8, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrs  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fdivrs    [rbx + 305419896]}
     */
    // Template#: 2883, Serial#: 4110
    public void fdivrs_r4110(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD8, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fdivrl    [rbx + 305419896]}
     */
    // Template#: 2884, Serial#: 4654
    public void fdivrl(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDC, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fdivrl    [rbx + 305419896]}
     */
    // Template#: 2885, Serial#: 4718
    public void fdivrl_r4718(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDC, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivrl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fdivrl    [rbx + 305419896]}
     */
    // Template#: 2886, Serial#: 4782
    public void fdivrl_r4782(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDC, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivp  }<i>st_i</i>
     * Example disassembly syntax: {@code fdivp     st(0), st}
     */
    // Template#: 2887, Serial#: 12977
    public void fdivrp___ST(FPStackRegister st_i) {
        assemble0597((byte) 0xF0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivp  }<i>st_i</i>
     * Example disassembly syntax: {@code fdivp     st(0), st}
     */
    // Template#: 2888, Serial#: 12978
    public void fdivrp___ST_r12978(FPStackRegister st_i) {
        assemble0598((byte) 0xF0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fdivp  }<i>st_i</i>
     * Example disassembly syntax: {@code fdivp     st(0), st}
     */
    // Template#: 2889, Serial#: 12979
    public void fdivrp___ST_r12979(FPStackRegister st_i) {
        assemble0599((byte) 0xF0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code femms  }
     * Example disassembly syntax: {@code femms   }
     */
    // Template#: 2890, Serial#: 9198
    public void femms() {
        assemble0373((byte) 0x0E);
    }

    /**
     * Pseudo-external assembler syntax: {@code femms  }
     * Example disassembly syntax: {@code femms   }
     */
    // Template#: 2891, Serial#: 9199
    public void femms_r9199() {
        assemble0374((byte) 0x0E);
    }

    /**
     * Pseudo-external assembler syntax: {@code femms  }
     * Example disassembly syntax: {@code femms   }
     */
    // Template#: 2892, Serial#: 9200
    public void femms_r9200() {
        assemble0375((byte) 0x0E);
    }

    /**
     * Pseudo-external assembler syntax: {@code ffree  }<i>st_i</i>
     * Example disassembly syntax: {@code ffree     st(0)}
     */
    // Template#: 2893, Serial#: 12941
    public void ffree(FPStackRegister st_i) {
        assemble0615((byte) 0xC0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code ffree  }<i>st_i</i>
     * Example disassembly syntax: {@code ffree     st(0)}
     */
    // Template#: 2894, Serial#: 12942
    public void ffree_r12942(FPStackRegister st_i) {
        assemble0616((byte) 0xC0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code ffree  }<i>st_i</i>
     * Example disassembly syntax: {@code ffree     st(0)}
     */
    // Template#: 2895, Serial#: 12943
    public void ffree_r12943(FPStackRegister st_i) {
        assemble0617((byte) 0xC0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code ffreep  }<i>st_i</i>
     * Example disassembly syntax: {@code ffreep    st(0)}
     */
    // Template#: 2896, Serial#: 12983
    public void ffreep(FPStackRegister st_i) {
        assemble0609((byte) 0xC0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code ffreep  }<i>st_i</i>
     * Example disassembly syntax: {@code ffreep    st(0)}
     */
    // Template#: 2897, Serial#: 12984
    public void ffreep_r12984(FPStackRegister st_i) {
        assemble0610((byte) 0xC0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code ffreep  }<i>st_i</i>
     * Example disassembly syntax: {@code ffreep    st(0)}
     */
    // Template#: 2898, Serial#: 12985
    public void ffreep_r12985(FPStackRegister st_i) {
        assemble0611((byte) 0xC0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiaddl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fiaddl    rbx[rsi * 4 + 18]}
     */
    // Template#: 2899, Serial#: 4313
    public void fiaddl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDA, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiaddl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fiaddl    rbx[rsi * 4 + 18]}
     */
    // Template#: 2900, Serial#: 4377
    public void fiaddl_r4377(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDA, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiaddl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fiaddl    rbx[rsi * 4 + 18]}
     */
    // Template#: 2901, Serial#: 4441
    public void fiaddl_r4441(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDA, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiadds  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fiadds    rbx[rsi * 4 + 18]}
     */
    // Template#: 2902, Serial#: 4961
    public void fiadds(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDE, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiadds  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fiadds    rbx[rsi * 4 + 18]}
     */
    // Template#: 2903, Serial#: 5025
    public void fiadds_r5025(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDE, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiadds  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fiadds    rbx[rsi * 4 + 18]}
     */
    // Template#: 2904, Serial#: 5089
    public void fiadds_r5089(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDE, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiaddl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fiaddl    [rbx + 18]}
     */
    // Template#: 2905, Serial#: 4312
    public void fiaddl(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDA, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiaddl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fiaddl    [rbx + 18]}
     */
    // Template#: 2906, Serial#: 4376
    public void fiaddl_r4376(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDA, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiaddl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fiaddl    [rbx + 18]}
     */
    // Template#: 2907, Serial#: 4440
    public void fiaddl_r4440(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDA, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiadds  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fiadds    [rbx + 18]}
     */
    // Template#: 2908, Serial#: 4960
    public void fiadds(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDE, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiadds  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fiadds    [rbx + 18]}
     */
    // Template#: 2909, Serial#: 5024
    public void fiadds_r5024(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDE, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiadds  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fiadds    [rbx + 18]}
     */
    // Template#: 2910, Serial#: 5088
    public void fiadds_r5088(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDE, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiaddl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fiaddl    rbx[rsi * 4]}
     */
    // Template#: 2911, Serial#: 4281
    public void fiaddl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDA, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiaddl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fiaddl    rbx[rsi * 4]}
     */
    // Template#: 2912, Serial#: 4345
    public void fiaddl_r4345(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDA, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiaddl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fiaddl    rbx[rsi * 4]}
     */
    // Template#: 2913, Serial#: 4409
    public void fiaddl_r4409(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDA, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiadds  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fiadds    rbx[rsi * 4]}
     */
    // Template#: 2914, Serial#: 4929
    public void fiadds(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDE, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiadds  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fiadds    rbx[rsi * 4]}
     */
    // Template#: 2915, Serial#: 4993
    public void fiadds_r4993(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDE, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiadds  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fiadds    rbx[rsi * 4]}
     */
    // Template#: 2916, Serial#: 5057
    public void fiadds_r5057(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDE, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiaddl  }<i>destination</i>
     * Example disassembly syntax: {@code fiaddl    [rbx]}
     */
    // Template#: 2917, Serial#: 4280
    public void fiaddl(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDA, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiaddl  }<i>destination</i>
     * Example disassembly syntax: {@code fiaddl    [rbx]}
     */
    // Template#: 2918, Serial#: 4344
    public void fiaddl_r4344(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDA, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiaddl  }<i>destination</i>
     * Example disassembly syntax: {@code fiaddl    [rbx]}
     */
    // Template#: 2919, Serial#: 4408
    public void fiaddl_r4408(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDA, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiadds  }<i>destination</i>
     * Example disassembly syntax: {@code fiadds    [rbx]}
     */
    // Template#: 2920, Serial#: 4928
    public void fiadds(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDE, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiadds  }<i>destination</i>
     * Example disassembly syntax: {@code fiadds    [rbx]}
     */
    // Template#: 2921, Serial#: 4992
    public void fiadds_r4992(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDE, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiadds  }<i>destination</i>
     * Example disassembly syntax: {@code fiadds    [rbx]}
     */
    // Template#: 2922, Serial#: 5056
    public void fiadds_r5056(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDE, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiaddl  }<i>rel32</i>
     * Example disassembly syntax: {@code fiaddl    [L1: +305419896]}
     */
    // Template#: 2923, Serial#: 4283
    public void rip_fiaddl(int rel32) {
        assemble0341((byte) 0xDA, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiaddl  }<i>rel32</i>
     * Example disassembly syntax: {@code fiaddl    [L1: +305419896]}
     */
    // Template#: 2924, Serial#: 4347
    public void rip_fiaddl_r4347(int rel32) {
        assemble0582((byte) 0xDA, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiaddl  }<i>rel32</i>
     * Example disassembly syntax: {@code fiaddl    [L1: +305419896]}
     */
    // Template#: 2925, Serial#: 4411
    public void rip_fiaddl_r4411(int rel32) {
        assemble0342((byte) 0xDA, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiadds  }<i>rel32</i>
     * Example disassembly syntax: {@code fiadds    [L1: +305419896]}
     */
    // Template#: 2926, Serial#: 4931
    public void rip_fiadds(int rel32) {
        assemble0341((byte) 0xDE, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiadds  }<i>rel32</i>
     * Example disassembly syntax: {@code fiadds    [L1: +305419896]}
     */
    // Template#: 2927, Serial#: 4995
    public void rip_fiadds_r4995(int rel32) {
        assemble0582((byte) 0xDE, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiadds  }<i>rel32</i>
     * Example disassembly syntax: {@code fiadds    [L1: +305419896]}
     */
    // Template#: 2928, Serial#: 5059
    public void rip_fiadds_r5059(int rel32) {
        assemble0342((byte) 0xDE, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiaddl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fiaddl    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2929, Serial#: 4329
    public void fiaddl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDA, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiaddl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fiaddl    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2930, Serial#: 4393
    public void fiaddl_r4393(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDA, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiaddl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fiaddl    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2931, Serial#: 4457
    public void fiaddl_r4457(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDA, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiadds  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fiadds    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2932, Serial#: 4977
    public void fiadds(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDE, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiadds  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fiadds    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2933, Serial#: 5041
    public void fiadds_r5041(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDE, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiadds  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fiadds    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2934, Serial#: 5105
    public void fiadds_r5105(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDE, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiaddl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fiaddl    0x12345678[rsi * 4]}
     */
    // Template#: 2935, Serial#: 4282
    public void m_fiaddl(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDA, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiaddl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fiaddl    0x12345678[rsi * 4]}
     */
    // Template#: 2936, Serial#: 4346
    public void m_fiaddl_r4346(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDA, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiaddl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fiaddl    0x12345678[rsi * 4]}
     */
    // Template#: 2937, Serial#: 4410
    public void m_fiaddl_r4410(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDA, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiadds  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fiadds    0x12345678[rsi * 4]}
     */
    // Template#: 2938, Serial#: 4930
    public void m_fiadds(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDE, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiadds  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fiadds    0x12345678[rsi * 4]}
     */
    // Template#: 2939, Serial#: 4994
    public void m_fiadds_r4994(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDE, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiadds  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fiadds    0x12345678[rsi * 4]}
     */
    // Template#: 2940, Serial#: 5058
    public void m_fiadds_r5058(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDE, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiaddl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fiaddl    [rbx + 305419896]}
     */
    // Template#: 2941, Serial#: 4328
    public void fiaddl(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDA, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiaddl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fiaddl    [rbx + 305419896]}
     */
    // Template#: 2942, Serial#: 4392
    public void fiaddl_r4392(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDA, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiaddl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fiaddl    [rbx + 305419896]}
     */
    // Template#: 2943, Serial#: 4456
    public void fiaddl_r4456(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDA, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiadds  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fiadds    [rbx + 305419896]}
     */
    // Template#: 2944, Serial#: 4976
    public void fiadds(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDE, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiadds  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fiadds    [rbx + 305419896]}
     */
    // Template#: 2945, Serial#: 5040
    public void fiadds_r5040(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDE, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fiadds  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fiadds    [rbx + 305419896]}
     */
    // Template#: 2946, Serial#: 5104
    public void fiadds_r5104(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDE, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoml  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficoml    rbx[rsi * 4 + 18]}
     */
    // Template#: 2947, Serial#: 4317
    public void ficoml(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDA, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoml  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficoml    rbx[rsi * 4 + 18]}
     */
    // Template#: 2948, Serial#: 4381
    public void ficoml_r4381(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDA, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoml  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficoml    rbx[rsi * 4 + 18]}
     */
    // Template#: 2949, Serial#: 4445
    public void ficoml_r4445(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDA, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoms  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficoms    rbx[rsi * 4 + 18]}
     */
    // Template#: 2950, Serial#: 4965
    public void ficoms(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDE, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoms  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficoms    rbx[rsi * 4 + 18]}
     */
    // Template#: 2951, Serial#: 5029
    public void ficoms_r5029(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDE, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoms  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficoms    rbx[rsi * 4 + 18]}
     */
    // Template#: 2952, Serial#: 5093
    public void ficoms_r5093(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDE, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoml  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code ficoml    [rbx + 18]}
     */
    // Template#: 2953, Serial#: 4316
    public void ficoml(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDA, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoml  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code ficoml    [rbx + 18]}
     */
    // Template#: 2954, Serial#: 4380
    public void ficoml_r4380(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDA, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoml  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code ficoml    [rbx + 18]}
     */
    // Template#: 2955, Serial#: 4444
    public void ficoml_r4444(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDA, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoms  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code ficoms    [rbx + 18]}
     */
    // Template#: 2956, Serial#: 4964
    public void ficoms(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDE, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoms  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code ficoms    [rbx + 18]}
     */
    // Template#: 2957, Serial#: 5028
    public void ficoms_r5028(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDE, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoms  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code ficoms    [rbx + 18]}
     */
    // Template#: 2958, Serial#: 5092
    public void ficoms_r5092(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDE, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoml  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficoml    rbx[rsi * 4]}
     */
    // Template#: 2959, Serial#: 4289
    public void ficoml(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDA, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoml  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficoml    rbx[rsi * 4]}
     */
    // Template#: 2960, Serial#: 4353
    public void ficoml_r4353(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDA, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoml  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficoml    rbx[rsi * 4]}
     */
    // Template#: 2961, Serial#: 4417
    public void ficoml_r4417(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDA, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoms  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficoms    rbx[rsi * 4]}
     */
    // Template#: 2962, Serial#: 4937
    public void ficoms(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDE, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoms  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficoms    rbx[rsi * 4]}
     */
    // Template#: 2963, Serial#: 5001
    public void ficoms_r5001(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDE, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoms  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficoms    rbx[rsi * 4]}
     */
    // Template#: 2964, Serial#: 5065
    public void ficoms_r5065(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDE, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoml  }<i>destination</i>
     * Example disassembly syntax: {@code ficoml    [rbx]}
     */
    // Template#: 2965, Serial#: 4288
    public void ficoml(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDA, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoml  }<i>destination</i>
     * Example disassembly syntax: {@code ficoml    [rbx]}
     */
    // Template#: 2966, Serial#: 4352
    public void ficoml_r4352(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDA, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoml  }<i>destination</i>
     * Example disassembly syntax: {@code ficoml    [rbx]}
     */
    // Template#: 2967, Serial#: 4416
    public void ficoml_r4416(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDA, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoms  }<i>destination</i>
     * Example disassembly syntax: {@code ficoms    [rbx]}
     */
    // Template#: 2968, Serial#: 4936
    public void ficoms(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDE, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoms  }<i>destination</i>
     * Example disassembly syntax: {@code ficoms    [rbx]}
     */
    // Template#: 2969, Serial#: 5000
    public void ficoms_r5000(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDE, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoms  }<i>destination</i>
     * Example disassembly syntax: {@code ficoms    [rbx]}
     */
    // Template#: 2970, Serial#: 5064
    public void ficoms_r5064(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDE, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoml  }<i>rel32</i>
     * Example disassembly syntax: {@code ficoml    [L1: +305419896]}
     */
    // Template#: 2971, Serial#: 4291
    public void rip_ficoml(int rel32) {
        assemble0341((byte) 0xDA, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoml  }<i>rel32</i>
     * Example disassembly syntax: {@code ficoml    [L1: +305419896]}
     */
    // Template#: 2972, Serial#: 4355
    public void rip_ficoml_r4355(int rel32) {
        assemble0582((byte) 0xDA, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoml  }<i>rel32</i>
     * Example disassembly syntax: {@code ficoml    [L1: +305419896]}
     */
    // Template#: 2973, Serial#: 4419
    public void rip_ficoml_r4419(int rel32) {
        assemble0342((byte) 0xDA, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoms  }<i>rel32</i>
     * Example disassembly syntax: {@code ficoms    [L1: +305419896]}
     */
    // Template#: 2974, Serial#: 4939
    public void rip_ficoms(int rel32) {
        assemble0341((byte) 0xDE, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoms  }<i>rel32</i>
     * Example disassembly syntax: {@code ficoms    [L1: +305419896]}
     */
    // Template#: 2975, Serial#: 5003
    public void rip_ficoms_r5003(int rel32) {
        assemble0582((byte) 0xDE, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoms  }<i>rel32</i>
     * Example disassembly syntax: {@code ficoms    [L1: +305419896]}
     */
    // Template#: 2976, Serial#: 5067
    public void rip_ficoms_r5067(int rel32) {
        assemble0342((byte) 0xDE, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoml  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficoml    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2977, Serial#: 4333
    public void ficoml(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDA, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoml  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficoml    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2978, Serial#: 4397
    public void ficoml_r4397(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDA, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoml  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficoml    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2979, Serial#: 4461
    public void ficoml_r4461(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDA, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoms  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficoms    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2980, Serial#: 4981
    public void ficoms(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDE, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoms  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficoms    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2981, Serial#: 5045
    public void ficoms_r5045(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDE, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoms  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficoms    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 2982, Serial#: 5109
    public void ficoms_r5109(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDE, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoml  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficoml    0x12345678[rsi * 4]}
     */
    // Template#: 2983, Serial#: 4290
    public void m_ficoml(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDA, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoml  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficoml    0x12345678[rsi * 4]}
     */
    // Template#: 2984, Serial#: 4354
    public void m_ficoml_r4354(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDA, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoml  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficoml    0x12345678[rsi * 4]}
     */
    // Template#: 2985, Serial#: 4418
    public void m_ficoml_r4418(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDA, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoms  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficoms    0x12345678[rsi * 4]}
     */
    // Template#: 2986, Serial#: 4938
    public void m_ficoms(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDE, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoms  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficoms    0x12345678[rsi * 4]}
     */
    // Template#: 2987, Serial#: 5002
    public void m_ficoms_r5002(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDE, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoms  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficoms    0x12345678[rsi * 4]}
     */
    // Template#: 2988, Serial#: 5066
    public void m_ficoms_r5066(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDE, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoml  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code ficoml    [rbx + 305419896]}
     */
    // Template#: 2989, Serial#: 4332
    public void ficoml(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDA, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoml  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code ficoml    [rbx + 305419896]}
     */
    // Template#: 2990, Serial#: 4396
    public void ficoml_r4396(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDA, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoml  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code ficoml    [rbx + 305419896]}
     */
    // Template#: 2991, Serial#: 4460
    public void ficoml_r4460(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDA, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoms  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code ficoms    [rbx + 305419896]}
     */
    // Template#: 2992, Serial#: 4980
    public void ficoms(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDE, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoms  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code ficoms    [rbx + 305419896]}
     */
    // Template#: 2993, Serial#: 5044
    public void ficoms_r5044(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDE, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficoms  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code ficoms    [rbx + 305419896]}
     */
    // Template#: 2994, Serial#: 5108
    public void ficoms_r5108(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDE, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficompl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficompl   rbx[rsi * 4 + 18]}
     */
    // Template#: 2995, Serial#: 4319
    public void ficompl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDA, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficompl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficompl   rbx[rsi * 4 + 18]}
     */
    // Template#: 2996, Serial#: 4383
    public void ficompl_r4383(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDA, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficompl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficompl   rbx[rsi * 4 + 18]}
     */
    // Template#: 2997, Serial#: 4447
    public void ficompl_r4447(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDA, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficomps  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficomps   rbx[rsi * 4 + 18]}
     */
    // Template#: 2998, Serial#: 4967
    public void ficomps(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDE, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficomps  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficomps   rbx[rsi * 4 + 18]}
     */
    // Template#: 2999, Serial#: 5031
    public void ficomps_r5031(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDE, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficomps  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficomps   rbx[rsi * 4 + 18]}
     */
    // Template#: 3000, Serial#: 5095
    public void ficomps_r5095(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDE, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficompl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code ficompl   [rbx + 18]}
     */
    // Template#: 3001, Serial#: 4318
    public void ficompl(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDA, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficompl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code ficompl   [rbx + 18]}
     */
    // Template#: 3002, Serial#: 4382
    public void ficompl_r4382(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDA, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficompl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code ficompl   [rbx + 18]}
     */
    // Template#: 3003, Serial#: 4446
    public void ficompl_r4446(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDA, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficomps  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code ficomps   [rbx + 18]}
     */
    // Template#: 3004, Serial#: 4966
    public void ficomps(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDE, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficomps  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code ficomps   [rbx + 18]}
     */
    // Template#: 3005, Serial#: 5030
    public void ficomps_r5030(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDE, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficomps  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code ficomps   [rbx + 18]}
     */
    // Template#: 3006, Serial#: 5094
    public void ficomps_r5094(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDE, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficompl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficompl   rbx[rsi * 4]}
     */
    // Template#: 3007, Serial#: 4293
    public void ficompl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDA, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficompl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficompl   rbx[rsi * 4]}
     */
    // Template#: 3008, Serial#: 4357
    public void ficompl_r4357(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDA, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficompl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficompl   rbx[rsi * 4]}
     */
    // Template#: 3009, Serial#: 4421
    public void ficompl_r4421(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDA, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficomps  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficomps   rbx[rsi * 4]}
     */
    // Template#: 3010, Serial#: 4941
    public void ficomps(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDE, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficomps  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficomps   rbx[rsi * 4]}
     */
    // Template#: 3011, Serial#: 5005
    public void ficomps_r5005(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDE, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficomps  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficomps   rbx[rsi * 4]}
     */
    // Template#: 3012, Serial#: 5069
    public void ficomps_r5069(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDE, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficompl  }<i>destination</i>
     * Example disassembly syntax: {@code ficompl   [rbx]}
     */
    // Template#: 3013, Serial#: 4292
    public void ficompl(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDA, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficompl  }<i>destination</i>
     * Example disassembly syntax: {@code ficompl   [rbx]}
     */
    // Template#: 3014, Serial#: 4356
    public void ficompl_r4356(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDA, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficompl  }<i>destination</i>
     * Example disassembly syntax: {@code ficompl   [rbx]}
     */
    // Template#: 3015, Serial#: 4420
    public void ficompl_r4420(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDA, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficomps  }<i>destination</i>
     * Example disassembly syntax: {@code ficomps   [rbx]}
     */
    // Template#: 3016, Serial#: 4940
    public void ficomps(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDE, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficomps  }<i>destination</i>
     * Example disassembly syntax: {@code ficomps   [rbx]}
     */
    // Template#: 3017, Serial#: 5004
    public void ficomps_r5004(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDE, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficomps  }<i>destination</i>
     * Example disassembly syntax: {@code ficomps   [rbx]}
     */
    // Template#: 3018, Serial#: 5068
    public void ficomps_r5068(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDE, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficompl  }<i>rel32</i>
     * Example disassembly syntax: {@code ficompl   [L1: +305419896]}
     */
    // Template#: 3019, Serial#: 4295
    public void rip_ficompl(int rel32) {
        assemble0341((byte) 0xDA, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficompl  }<i>rel32</i>
     * Example disassembly syntax: {@code ficompl   [L1: +305419896]}
     */
    // Template#: 3020, Serial#: 4359
    public void rip_ficompl_r4359(int rel32) {
        assemble0582((byte) 0xDA, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficompl  }<i>rel32</i>
     * Example disassembly syntax: {@code ficompl   [L1: +305419896]}
     */
    // Template#: 3021, Serial#: 4423
    public void rip_ficompl_r4423(int rel32) {
        assemble0342((byte) 0xDA, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficomps  }<i>rel32</i>
     * Example disassembly syntax: {@code ficomps   [L1: +305419896]}
     */
    // Template#: 3022, Serial#: 4943
    public void rip_ficomps(int rel32) {
        assemble0341((byte) 0xDE, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficomps  }<i>rel32</i>
     * Example disassembly syntax: {@code ficomps   [L1: +305419896]}
     */
    // Template#: 3023, Serial#: 5007
    public void rip_ficomps_r5007(int rel32) {
        assemble0582((byte) 0xDE, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficomps  }<i>rel32</i>
     * Example disassembly syntax: {@code ficomps   [L1: +305419896]}
     */
    // Template#: 3024, Serial#: 5071
    public void rip_ficomps_r5071(int rel32) {
        assemble0342((byte) 0xDE, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficompl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficompl   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3025, Serial#: 4335
    public void ficompl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDA, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficompl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficompl   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3026, Serial#: 4399
    public void ficompl_r4399(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDA, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficompl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficompl   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3027, Serial#: 4463
    public void ficompl_r4463(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDA, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficomps  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficomps   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3028, Serial#: 4983
    public void ficomps(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDE, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficomps  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficomps   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3029, Serial#: 5047
    public void ficomps_r5047(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDE, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficomps  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficomps   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3030, Serial#: 5111
    public void ficomps_r5111(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDE, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficompl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficompl   0x12345678[rsi * 4]}
     */
    // Template#: 3031, Serial#: 4294
    public void m_ficompl(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDA, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficompl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficompl   0x12345678[rsi * 4]}
     */
    // Template#: 3032, Serial#: 4358
    public void m_ficompl_r4358(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDA, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficompl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficompl   0x12345678[rsi * 4]}
     */
    // Template#: 3033, Serial#: 4422
    public void m_ficompl_r4422(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDA, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficomps  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficomps   0x12345678[rsi * 4]}
     */
    // Template#: 3034, Serial#: 4942
    public void m_ficomps(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDE, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficomps  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficomps   0x12345678[rsi * 4]}
     */
    // Template#: 3035, Serial#: 5006
    public void m_ficomps_r5006(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDE, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficomps  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ficomps   0x12345678[rsi * 4]}
     */
    // Template#: 3036, Serial#: 5070
    public void m_ficomps_r5070(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDE, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficompl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code ficompl   [rbx + 305419896]}
     */
    // Template#: 3037, Serial#: 4334
    public void ficompl(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDA, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficompl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code ficompl   [rbx + 305419896]}
     */
    // Template#: 3038, Serial#: 4398
    public void ficompl_r4398(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDA, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficompl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code ficompl   [rbx + 305419896]}
     */
    // Template#: 3039, Serial#: 4462
    public void ficompl_r4462(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDA, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficomps  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code ficomps   [rbx + 305419896]}
     */
    // Template#: 3040, Serial#: 4982
    public void ficomps(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDE, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficomps  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code ficomps   [rbx + 305419896]}
     */
    // Template#: 3041, Serial#: 5046
    public void ficomps_r5046(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDE, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ficomps  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code ficomps   [rbx + 305419896]}
     */
    // Template#: 3042, Serial#: 5110
    public void ficomps_r5110(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDE, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivl    rbx[rsi * 4 + 18]}
     */
    // Template#: 3043, Serial#: 4325
    public void fidivl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDA, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivl    rbx[rsi * 4 + 18]}
     */
    // Template#: 3044, Serial#: 4389
    public void fidivl_r4389(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDA, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivl    rbx[rsi * 4 + 18]}
     */
    // Template#: 3045, Serial#: 4453
    public void fidivl_r4453(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDA, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivs  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivs    rbx[rsi * 4 + 18]}
     */
    // Template#: 3046, Serial#: 4973
    public void fidivs(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDE, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivs  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivs    rbx[rsi * 4 + 18]}
     */
    // Template#: 3047, Serial#: 5037
    public void fidivs_r5037(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDE, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivs  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivs    rbx[rsi * 4 + 18]}
     */
    // Template#: 3048, Serial#: 5101
    public void fidivs_r5101(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDE, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fidivl    [rbx + 18]}
     */
    // Template#: 3049, Serial#: 4324
    public void fidivl(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDA, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fidivl    [rbx + 18]}
     */
    // Template#: 3050, Serial#: 4388
    public void fidivl_r4388(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDA, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fidivl    [rbx + 18]}
     */
    // Template#: 3051, Serial#: 4452
    public void fidivl_r4452(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDA, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivs  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fidivs    [rbx + 18]}
     */
    // Template#: 3052, Serial#: 4972
    public void fidivs(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDE, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivs  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fidivs    [rbx + 18]}
     */
    // Template#: 3053, Serial#: 5036
    public void fidivs_r5036(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDE, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivs  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fidivs    [rbx + 18]}
     */
    // Template#: 3054, Serial#: 5100
    public void fidivs_r5100(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDE, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivl    rbx[rsi * 4]}
     */
    // Template#: 3055, Serial#: 4305
    public void fidivl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDA, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivl    rbx[rsi * 4]}
     */
    // Template#: 3056, Serial#: 4369
    public void fidivl_r4369(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDA, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivl    rbx[rsi * 4]}
     */
    // Template#: 3057, Serial#: 4433
    public void fidivl_r4433(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDA, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivs  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivs    rbx[rsi * 4]}
     */
    // Template#: 3058, Serial#: 4953
    public void fidivs(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDE, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivs  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivs    rbx[rsi * 4]}
     */
    // Template#: 3059, Serial#: 5017
    public void fidivs_r5017(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDE, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivs  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivs    rbx[rsi * 4]}
     */
    // Template#: 3060, Serial#: 5081
    public void fidivs_r5081(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDE, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivl  }<i>destination</i>
     * Example disassembly syntax: {@code fidivl    [rbx]}
     */
    // Template#: 3061, Serial#: 4304
    public void fidivl(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDA, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivl  }<i>destination</i>
     * Example disassembly syntax: {@code fidivl    [rbx]}
     */
    // Template#: 3062, Serial#: 4368
    public void fidivl_r4368(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDA, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivl  }<i>destination</i>
     * Example disassembly syntax: {@code fidivl    [rbx]}
     */
    // Template#: 3063, Serial#: 4432
    public void fidivl_r4432(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDA, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivs  }<i>destination</i>
     * Example disassembly syntax: {@code fidivs    [rbx]}
     */
    // Template#: 3064, Serial#: 4952
    public void fidivs(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDE, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivs  }<i>destination</i>
     * Example disassembly syntax: {@code fidivs    [rbx]}
     */
    // Template#: 3065, Serial#: 5016
    public void fidivs_r5016(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDE, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivs  }<i>destination</i>
     * Example disassembly syntax: {@code fidivs    [rbx]}
     */
    // Template#: 3066, Serial#: 5080
    public void fidivs_r5080(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDE, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivl  }<i>rel32</i>
     * Example disassembly syntax: {@code fidivl    [L1: +305419896]}
     */
    // Template#: 3067, Serial#: 4307
    public void rip_fidivl(int rel32) {
        assemble0341((byte) 0xDA, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivl  }<i>rel32</i>
     * Example disassembly syntax: {@code fidivl    [L1: +305419896]}
     */
    // Template#: 3068, Serial#: 4371
    public void rip_fidivl_r4371(int rel32) {
        assemble0582((byte) 0xDA, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivl  }<i>rel32</i>
     * Example disassembly syntax: {@code fidivl    [L1: +305419896]}
     */
    // Template#: 3069, Serial#: 4435
    public void rip_fidivl_r4435(int rel32) {
        assemble0342((byte) 0xDA, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivs  }<i>rel32</i>
     * Example disassembly syntax: {@code fidivs    [L1: +305419896]}
     */
    // Template#: 3070, Serial#: 4955
    public void rip_fidivs(int rel32) {
        assemble0341((byte) 0xDE, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivs  }<i>rel32</i>
     * Example disassembly syntax: {@code fidivs    [L1: +305419896]}
     */
    // Template#: 3071, Serial#: 5019
    public void rip_fidivs_r5019(int rel32) {
        assemble0582((byte) 0xDE, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivs  }<i>rel32</i>
     * Example disassembly syntax: {@code fidivs    [L1: +305419896]}
     */
    // Template#: 3072, Serial#: 5083
    public void rip_fidivs_r5083(int rel32) {
        assemble0342((byte) 0xDE, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivl    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3073, Serial#: 4341
    public void fidivl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDA, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivl    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3074, Serial#: 4405
    public void fidivl_r4405(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDA, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivl    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3075, Serial#: 4469
    public void fidivl_r4469(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDA, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivs  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivs    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3076, Serial#: 4989
    public void fidivs(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDE, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivs  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivs    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3077, Serial#: 5053
    public void fidivs_r5053(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDE, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivs  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivs    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3078, Serial#: 5117
    public void fidivs_r5117(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDE, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivl    0x12345678[rsi * 4]}
     */
    // Template#: 3079, Serial#: 4306
    public void m_fidivl(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDA, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivl    0x12345678[rsi * 4]}
     */
    // Template#: 3080, Serial#: 4370
    public void m_fidivl_r4370(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDA, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivl    0x12345678[rsi * 4]}
     */
    // Template#: 3081, Serial#: 4434
    public void m_fidivl_r4434(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDA, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivs  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivs    0x12345678[rsi * 4]}
     */
    // Template#: 3082, Serial#: 4954
    public void m_fidivs(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDE, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivs  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivs    0x12345678[rsi * 4]}
     */
    // Template#: 3083, Serial#: 5018
    public void m_fidivs_r5018(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDE, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivs  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivs    0x12345678[rsi * 4]}
     */
    // Template#: 3084, Serial#: 5082
    public void m_fidivs_r5082(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDE, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fidivl    [rbx + 305419896]}
     */
    // Template#: 3085, Serial#: 4340
    public void fidivl(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDA, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fidivl    [rbx + 305419896]}
     */
    // Template#: 3086, Serial#: 4404
    public void fidivl_r4404(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDA, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fidivl    [rbx + 305419896]}
     */
    // Template#: 3087, Serial#: 4468
    public void fidivl_r4468(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDA, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivs  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fidivs    [rbx + 305419896]}
     */
    // Template#: 3088, Serial#: 4988
    public void fidivs(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDE, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivs  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fidivs    [rbx + 305419896]}
     */
    // Template#: 3089, Serial#: 5052
    public void fidivs_r5052(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDE, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivs  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fidivs    [rbx + 305419896]}
     */
    // Template#: 3090, Serial#: 5116
    public void fidivs_r5116(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDE, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivrl   rbx[rsi * 4 + 18]}
     */
    // Template#: 3091, Serial#: 4327
    public void fidivrl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDA, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivrl   rbx[rsi * 4 + 18]}
     */
    // Template#: 3092, Serial#: 4391
    public void fidivrl_r4391(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDA, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivrl   rbx[rsi * 4 + 18]}
     */
    // Template#: 3093, Serial#: 4455
    public void fidivrl_r4455(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDA, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrs  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivrs   rbx[rsi * 4 + 18]}
     */
    // Template#: 3094, Serial#: 4975
    public void fidivrs(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDE, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrs  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivrs   rbx[rsi * 4 + 18]}
     */
    // Template#: 3095, Serial#: 5039
    public void fidivrs_r5039(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDE, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrs  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivrs   rbx[rsi * 4 + 18]}
     */
    // Template#: 3096, Serial#: 5103
    public void fidivrs_r5103(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDE, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fidivrl   [rbx + 18]}
     */
    // Template#: 3097, Serial#: 4326
    public void fidivrl(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDA, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fidivrl   [rbx + 18]}
     */
    // Template#: 3098, Serial#: 4390
    public void fidivrl_r4390(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDA, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fidivrl   [rbx + 18]}
     */
    // Template#: 3099, Serial#: 4454
    public void fidivrl_r4454(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDA, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrs  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fidivrs   [rbx + 18]}
     */
    // Template#: 3100, Serial#: 4974
    public void fidivrs(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDE, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrs  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fidivrs   [rbx + 18]}
     */
    // Template#: 3101, Serial#: 5038
    public void fidivrs_r5038(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDE, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrs  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fidivrs   [rbx + 18]}
     */
    // Template#: 3102, Serial#: 5102
    public void fidivrs_r5102(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDE, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivrl   rbx[rsi * 4]}
     */
    // Template#: 3103, Serial#: 4309
    public void fidivrl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDA, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivrl   rbx[rsi * 4]}
     */
    // Template#: 3104, Serial#: 4373
    public void fidivrl_r4373(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDA, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivrl   rbx[rsi * 4]}
     */
    // Template#: 3105, Serial#: 4437
    public void fidivrl_r4437(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDA, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrs  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivrs   rbx[rsi * 4]}
     */
    // Template#: 3106, Serial#: 4957
    public void fidivrs(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDE, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrs  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivrs   rbx[rsi * 4]}
     */
    // Template#: 3107, Serial#: 5021
    public void fidivrs_r5021(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDE, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrs  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivrs   rbx[rsi * 4]}
     */
    // Template#: 3108, Serial#: 5085
    public void fidivrs_r5085(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDE, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrl  }<i>destination</i>
     * Example disassembly syntax: {@code fidivrl   [rbx]}
     */
    // Template#: 3109, Serial#: 4308
    public void fidivrl(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDA, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrl  }<i>destination</i>
     * Example disassembly syntax: {@code fidivrl   [rbx]}
     */
    // Template#: 3110, Serial#: 4372
    public void fidivrl_r4372(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDA, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrl  }<i>destination</i>
     * Example disassembly syntax: {@code fidivrl   [rbx]}
     */
    // Template#: 3111, Serial#: 4436
    public void fidivrl_r4436(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDA, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrs  }<i>destination</i>
     * Example disassembly syntax: {@code fidivrs   [rbx]}
     */
    // Template#: 3112, Serial#: 4956
    public void fidivrs(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDE, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrs  }<i>destination</i>
     * Example disassembly syntax: {@code fidivrs   [rbx]}
     */
    // Template#: 3113, Serial#: 5020
    public void fidivrs_r5020(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDE, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrs  }<i>destination</i>
     * Example disassembly syntax: {@code fidivrs   [rbx]}
     */
    // Template#: 3114, Serial#: 5084
    public void fidivrs_r5084(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDE, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrl  }<i>rel32</i>
     * Example disassembly syntax: {@code fidivrl   [L1: +305419896]}
     */
    // Template#: 3115, Serial#: 4311
    public void rip_fidivrl(int rel32) {
        assemble0341((byte) 0xDA, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrl  }<i>rel32</i>
     * Example disassembly syntax: {@code fidivrl   [L1: +305419896]}
     */
    // Template#: 3116, Serial#: 4375
    public void rip_fidivrl_r4375(int rel32) {
        assemble0582((byte) 0xDA, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrl  }<i>rel32</i>
     * Example disassembly syntax: {@code fidivrl   [L1: +305419896]}
     */
    // Template#: 3117, Serial#: 4439
    public void rip_fidivrl_r4439(int rel32) {
        assemble0342((byte) 0xDA, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrs  }<i>rel32</i>
     * Example disassembly syntax: {@code fidivrs   [L1: +305419896]}
     */
    // Template#: 3118, Serial#: 4959
    public void rip_fidivrs(int rel32) {
        assemble0341((byte) 0xDE, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrs  }<i>rel32</i>
     * Example disassembly syntax: {@code fidivrs   [L1: +305419896]}
     */
    // Template#: 3119, Serial#: 5023
    public void rip_fidivrs_r5023(int rel32) {
        assemble0582((byte) 0xDE, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrs  }<i>rel32</i>
     * Example disassembly syntax: {@code fidivrs   [L1: +305419896]}
     */
    // Template#: 3120, Serial#: 5087
    public void rip_fidivrs_r5087(int rel32) {
        assemble0342((byte) 0xDE, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivrl   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3121, Serial#: 4343
    public void fidivrl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDA, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivrl   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3122, Serial#: 4407
    public void fidivrl_r4407(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDA, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivrl   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3123, Serial#: 4471
    public void fidivrl_r4471(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDA, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrs  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivrs   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3124, Serial#: 4991
    public void fidivrs(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDE, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrs  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivrs   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3125, Serial#: 5055
    public void fidivrs_r5055(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDE, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrs  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivrs   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3126, Serial#: 5119
    public void fidivrs_r5119(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDE, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivrl   0x12345678[rsi * 4]}
     */
    // Template#: 3127, Serial#: 4310
    public void m_fidivrl(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDA, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivrl   0x12345678[rsi * 4]}
     */
    // Template#: 3128, Serial#: 4374
    public void m_fidivrl_r4374(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDA, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivrl   0x12345678[rsi * 4]}
     */
    // Template#: 3129, Serial#: 4438
    public void m_fidivrl_r4438(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDA, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrs  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivrs   0x12345678[rsi * 4]}
     */
    // Template#: 3130, Serial#: 4958
    public void m_fidivrs(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDE, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrs  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivrs   0x12345678[rsi * 4]}
     */
    // Template#: 3131, Serial#: 5022
    public void m_fidivrs_r5022(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDE, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrs  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fidivrs   0x12345678[rsi * 4]}
     */
    // Template#: 3132, Serial#: 5086
    public void m_fidivrs_r5086(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDE, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fidivrl   [rbx + 305419896]}
     */
    // Template#: 3133, Serial#: 4342
    public void fidivrl(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDA, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fidivrl   [rbx + 305419896]}
     */
    // Template#: 3134, Serial#: 4406
    public void fidivrl_r4406(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDA, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fidivrl   [rbx + 305419896]}
     */
    // Template#: 3135, Serial#: 4470
    public void fidivrl_r4470(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDA, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrs  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fidivrs   [rbx + 305419896]}
     */
    // Template#: 3136, Serial#: 4990
    public void fidivrs(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDE, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrs  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fidivrs   [rbx + 305419896]}
     */
    // Template#: 3137, Serial#: 5054
    public void fidivrs_r5054(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDE, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fidivrs  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fidivrs   [rbx + 305419896]}
     */
    // Template#: 3138, Serial#: 5118
    public void fidivrs_r5118(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDE, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fildl     rbx[rsi * 4 + 18]}
     */
    // Template#: 3139, Serial#: 4493
    public void fildl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDB, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fildl     rbx[rsi * 4 + 18]}
     */
    // Template#: 3140, Serial#: 4533
    public void fildl_r4533(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDB, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fildl     rbx[rsi * 4 + 18]}
     */
    // Template#: 3141, Serial#: 4573
    public void fildl_r4573(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDB, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code filds  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code filds     rbx[rsi * 4 + 18]}
     */
    // Template#: 3142, Serial#: 5149
    public void filds(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDF, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fildq     rbx[rsi * 4 + 18]}
     */
    // Template#: 3143, Serial#: 5157
    public void fildq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDF, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code filds  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code filds     rbx[rsi * 4 + 18]}
     */
    // Template#: 3144, Serial#: 5205
    public void filds_r5205(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDF, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fildq     rbx[rsi * 4 + 18]}
     */
    // Template#: 3145, Serial#: 5213
    public void fildq_r5213(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDF, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code filds  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code filds     rbx[rsi * 4 + 18]}
     */
    // Template#: 3146, Serial#: 5261
    public void filds_r5261(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDF, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fildq     rbx[rsi * 4 + 18]}
     */
    // Template#: 3147, Serial#: 5269
    public void fildq_r5269(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDF, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fildl     [rbx + 18]}
     */
    // Template#: 3148, Serial#: 4492
    public void fildl(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDB, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fildl     [rbx + 18]}
     */
    // Template#: 3149, Serial#: 4532
    public void fildl_r4532(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDB, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fildl     [rbx + 18]}
     */
    // Template#: 3150, Serial#: 4572
    public void fildl_r4572(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDB, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code filds  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code filds     [rbx + 18]}
     */
    // Template#: 3151, Serial#: 5148
    public void filds(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDF, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fildq     [rbx + 18]}
     */
    // Template#: 3152, Serial#: 5156
    public void fildq(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDF, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code filds  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code filds     [rbx + 18]}
     */
    // Template#: 3153, Serial#: 5204
    public void filds_r5204(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDF, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fildq     [rbx + 18]}
     */
    // Template#: 3154, Serial#: 5212
    public void fildq_r5212(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDF, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code filds  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code filds     [rbx + 18]}
     */
    // Template#: 3155, Serial#: 5260
    public void filds_r5260(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDF, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fildq     [rbx + 18]}
     */
    // Template#: 3156, Serial#: 5268
    public void fildq_r5268(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDF, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fildl     rbx[rsi * 4]}
     */
    // Template#: 3157, Serial#: 4473
    public void fildl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDB, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fildl     rbx[rsi * 4]}
     */
    // Template#: 3158, Serial#: 4513
    public void fildl_r4513(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDB, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fildl     rbx[rsi * 4]}
     */
    // Template#: 3159, Serial#: 4553
    public void fildl_r4553(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDB, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code filds  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code filds     rbx[rsi * 4]}
     */
    // Template#: 3160, Serial#: 5121
    public void filds(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDF, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fildq     rbx[rsi * 4]}
     */
    // Template#: 3161, Serial#: 5137
    public void fildq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDF, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code filds  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code filds     rbx[rsi * 4]}
     */
    // Template#: 3162, Serial#: 5177
    public void filds_r5177(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDF, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fildq     rbx[rsi * 4]}
     */
    // Template#: 3163, Serial#: 5193
    public void fildq_r5193(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDF, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code filds  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code filds     rbx[rsi * 4]}
     */
    // Template#: 3164, Serial#: 5233
    public void filds_r5233(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDF, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fildq     rbx[rsi * 4]}
     */
    // Template#: 3165, Serial#: 5249
    public void fildq_r5249(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDF, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildl  }<i>destination</i>
     * Example disassembly syntax: {@code fildl     [rbx]}
     */
    // Template#: 3166, Serial#: 4472
    public void fildl(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDB, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildl  }<i>destination</i>
     * Example disassembly syntax: {@code fildl     [rbx]}
     */
    // Template#: 3167, Serial#: 4512
    public void fildl_r4512(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDB, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildl  }<i>destination</i>
     * Example disassembly syntax: {@code fildl     [rbx]}
     */
    // Template#: 3168, Serial#: 4552
    public void fildl_r4552(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDB, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code filds  }<i>destination</i>
     * Example disassembly syntax: {@code filds     [rbx]}
     */
    // Template#: 3169, Serial#: 5120
    public void filds(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDF, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildq  }<i>destination</i>
     * Example disassembly syntax: {@code fildq     [rbx]}
     */
    // Template#: 3170, Serial#: 5136
    public void fildq(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDF, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code filds  }<i>destination</i>
     * Example disassembly syntax: {@code filds     [rbx]}
     */
    // Template#: 3171, Serial#: 5176
    public void filds_r5176(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDF, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildq  }<i>destination</i>
     * Example disassembly syntax: {@code fildq     [rbx]}
     */
    // Template#: 3172, Serial#: 5192
    public void fildq_r5192(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDF, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code filds  }<i>destination</i>
     * Example disassembly syntax: {@code filds     [rbx]}
     */
    // Template#: 3173, Serial#: 5232
    public void filds_r5232(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDF, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildq  }<i>destination</i>
     * Example disassembly syntax: {@code fildq     [rbx]}
     */
    // Template#: 3174, Serial#: 5248
    public void fildq_r5248(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDF, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildl  }<i>rel32</i>
     * Example disassembly syntax: {@code fildl     [L1: +305419896]}
     */
    // Template#: 3175, Serial#: 4475
    public void rip_fildl(int rel32) {
        assemble0341((byte) 0xDB, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildl  }<i>rel32</i>
     * Example disassembly syntax: {@code fildl     [L1: +305419896]}
     */
    // Template#: 3176, Serial#: 4515
    public void rip_fildl_r4515(int rel32) {
        assemble0582((byte) 0xDB, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildl  }<i>rel32</i>
     * Example disassembly syntax: {@code fildl     [L1: +305419896]}
     */
    // Template#: 3177, Serial#: 4555
    public void rip_fildl_r4555(int rel32) {
        assemble0342((byte) 0xDB, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code filds  }<i>rel32</i>
     * Example disassembly syntax: {@code filds     [L1: +305419896]}
     */
    // Template#: 3178, Serial#: 5123
    public void rip_filds(int rel32) {
        assemble0341((byte) 0xDF, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildq  }<i>rel32</i>
     * Example disassembly syntax: {@code fildq     [L1: +305419896]}
     */
    // Template#: 3179, Serial#: 5139
    public void rip_fildq(int rel32) {
        assemble0341((byte) 0xDF, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code filds  }<i>rel32</i>
     * Example disassembly syntax: {@code filds     [L1: +305419896]}
     */
    // Template#: 3180, Serial#: 5179
    public void rip_filds_r5179(int rel32) {
        assemble0582((byte) 0xDF, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildq  }<i>rel32</i>
     * Example disassembly syntax: {@code fildq     [L1: +305419896]}
     */
    // Template#: 3181, Serial#: 5195
    public void rip_fildq_r5195(int rel32) {
        assemble0582((byte) 0xDF, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code filds  }<i>rel32</i>
     * Example disassembly syntax: {@code filds     [L1: +305419896]}
     */
    // Template#: 3182, Serial#: 5235
    public void rip_filds_r5235(int rel32) {
        assemble0342((byte) 0xDF, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildq  }<i>rel32</i>
     * Example disassembly syntax: {@code fildq     [L1: +305419896]}
     */
    // Template#: 3183, Serial#: 5251
    public void rip_fildq_r5251(int rel32) {
        assemble0342((byte) 0xDF, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fildl     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3184, Serial#: 4503
    public void fildl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDB, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fildl     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3185, Serial#: 4543
    public void fildl_r4543(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDB, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fildl     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3186, Serial#: 4583
    public void fildl_r4583(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDB, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code filds  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code filds     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3187, Serial#: 5163
    public void filds(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDF, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fildq     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3188, Serial#: 5171
    public void fildq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDF, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code filds  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code filds     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3189, Serial#: 5219
    public void filds_r5219(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDF, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fildq     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3190, Serial#: 5227
    public void fildq_r5227(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDF, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code filds  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code filds     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3191, Serial#: 5275
    public void filds_r5275(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDF, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fildq     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3192, Serial#: 5283
    public void fildq_r5283(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDF, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fildl     0x12345678[rsi * 4]}
     */
    // Template#: 3193, Serial#: 4474
    public void m_fildl(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDB, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fildl     0x12345678[rsi * 4]}
     */
    // Template#: 3194, Serial#: 4514
    public void m_fildl_r4514(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDB, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fildl     0x12345678[rsi * 4]}
     */
    // Template#: 3195, Serial#: 4554
    public void m_fildl_r4554(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDB, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code filds  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code filds     0x12345678[rsi * 4]}
     */
    // Template#: 3196, Serial#: 5122
    public void m_filds(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDF, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fildq     0x12345678[rsi * 4]}
     */
    // Template#: 3197, Serial#: 5138
    public void m_fildq(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDF, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code filds  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code filds     0x12345678[rsi * 4]}
     */
    // Template#: 3198, Serial#: 5178
    public void m_filds_r5178(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDF, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fildq     0x12345678[rsi * 4]}
     */
    // Template#: 3199, Serial#: 5194
    public void m_fildq_r5194(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDF, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code filds  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code filds     0x12345678[rsi * 4]}
     */
    // Template#: 3200, Serial#: 5234
    public void m_filds_r5234(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDF, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fildq     0x12345678[rsi * 4]}
     */
    // Template#: 3201, Serial#: 5250
    public void m_fildq_r5250(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDF, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fildl     [rbx + 305419896]}
     */
    // Template#: 3202, Serial#: 4502
    public void fildl(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDB, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fildl     [rbx + 305419896]}
     */
    // Template#: 3203, Serial#: 4542
    public void fildl_r4542(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDB, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fildl     [rbx + 305419896]}
     */
    // Template#: 3204, Serial#: 4582
    public void fildl_r4582(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDB, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code filds  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code filds     [rbx + 305419896]}
     */
    // Template#: 3205, Serial#: 5162
    public void filds(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDF, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fildq     [rbx + 305419896]}
     */
    // Template#: 3206, Serial#: 5170
    public void fildq(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDF, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code filds  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code filds     [rbx + 305419896]}
     */
    // Template#: 3207, Serial#: 5218
    public void filds_r5218(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDF, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fildq     [rbx + 305419896]}
     */
    // Template#: 3208, Serial#: 5226
    public void fildq_r5226(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDF, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code filds  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code filds     [rbx + 305419896]}
     */
    // Template#: 3209, Serial#: 5274
    public void filds_r5274(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDF, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fildq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fildq     [rbx + 305419896]}
     */
    // Template#: 3210, Serial#: 5282
    public void fildq_r5282(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDF, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimull  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fimull    rbx[rsi * 4 + 18]}
     */
    // Template#: 3211, Serial#: 4315
    public void fimull(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDA, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimull  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fimull    rbx[rsi * 4 + 18]}
     */
    // Template#: 3212, Serial#: 4379
    public void fimull_r4379(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDA, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimull  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fimull    rbx[rsi * 4 + 18]}
     */
    // Template#: 3213, Serial#: 4443
    public void fimull_r4443(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDA, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimuls  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fimuls    rbx[rsi * 4 + 18]}
     */
    // Template#: 3214, Serial#: 4963
    public void fimuls(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDE, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimuls  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fimuls    rbx[rsi * 4 + 18]}
     */
    // Template#: 3215, Serial#: 5027
    public void fimuls_r5027(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDE, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimuls  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fimuls    rbx[rsi * 4 + 18]}
     */
    // Template#: 3216, Serial#: 5091
    public void fimuls_r5091(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDE, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimull  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fimull    [rbx + 18]}
     */
    // Template#: 3217, Serial#: 4314
    public void fimull(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDA, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimull  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fimull    [rbx + 18]}
     */
    // Template#: 3218, Serial#: 4378
    public void fimull_r4378(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDA, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimull  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fimull    [rbx + 18]}
     */
    // Template#: 3219, Serial#: 4442
    public void fimull_r4442(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDA, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimuls  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fimuls    [rbx + 18]}
     */
    // Template#: 3220, Serial#: 4962
    public void fimuls(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDE, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimuls  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fimuls    [rbx + 18]}
     */
    // Template#: 3221, Serial#: 5026
    public void fimuls_r5026(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDE, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimuls  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fimuls    [rbx + 18]}
     */
    // Template#: 3222, Serial#: 5090
    public void fimuls_r5090(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDE, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimull  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fimull    rbx[rsi * 4]}
     */
    // Template#: 3223, Serial#: 4285
    public void fimull(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDA, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimull  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fimull    rbx[rsi * 4]}
     */
    // Template#: 3224, Serial#: 4349
    public void fimull_r4349(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDA, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimull  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fimull    rbx[rsi * 4]}
     */
    // Template#: 3225, Serial#: 4413
    public void fimull_r4413(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDA, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimuls  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fimuls    rbx[rsi * 4]}
     */
    // Template#: 3226, Serial#: 4933
    public void fimuls(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDE, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimuls  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fimuls    rbx[rsi * 4]}
     */
    // Template#: 3227, Serial#: 4997
    public void fimuls_r4997(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDE, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimuls  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fimuls    rbx[rsi * 4]}
     */
    // Template#: 3228, Serial#: 5061
    public void fimuls_r5061(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDE, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimull  }<i>destination</i>
     * Example disassembly syntax: {@code fimull    [rbx]}
     */
    // Template#: 3229, Serial#: 4284
    public void fimull(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDA, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimull  }<i>destination</i>
     * Example disassembly syntax: {@code fimull    [rbx]}
     */
    // Template#: 3230, Serial#: 4348
    public void fimull_r4348(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDA, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimull  }<i>destination</i>
     * Example disassembly syntax: {@code fimull    [rbx]}
     */
    // Template#: 3231, Serial#: 4412
    public void fimull_r4412(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDA, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimuls  }<i>destination</i>
     * Example disassembly syntax: {@code fimuls    [rbx]}
     */
    // Template#: 3232, Serial#: 4932
    public void fimuls(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDE, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimuls  }<i>destination</i>
     * Example disassembly syntax: {@code fimuls    [rbx]}
     */
    // Template#: 3233, Serial#: 4996
    public void fimuls_r4996(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDE, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimuls  }<i>destination</i>
     * Example disassembly syntax: {@code fimuls    [rbx]}
     */
    // Template#: 3234, Serial#: 5060
    public void fimuls_r5060(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDE, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimull  }<i>rel32</i>
     * Example disassembly syntax: {@code fimull    [L1: +305419896]}
     */
    // Template#: 3235, Serial#: 4287
    public void rip_fimull(int rel32) {
        assemble0341((byte) 0xDA, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimull  }<i>rel32</i>
     * Example disassembly syntax: {@code fimull    [L1: +305419896]}
     */
    // Template#: 3236, Serial#: 4351
    public void rip_fimull_r4351(int rel32) {
        assemble0582((byte) 0xDA, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimull  }<i>rel32</i>
     * Example disassembly syntax: {@code fimull    [L1: +305419896]}
     */
    // Template#: 3237, Serial#: 4415
    public void rip_fimull_r4415(int rel32) {
        assemble0342((byte) 0xDA, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimuls  }<i>rel32</i>
     * Example disassembly syntax: {@code fimuls    [L1: +305419896]}
     */
    // Template#: 3238, Serial#: 4935
    public void rip_fimuls(int rel32) {
        assemble0341((byte) 0xDE, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimuls  }<i>rel32</i>
     * Example disassembly syntax: {@code fimuls    [L1: +305419896]}
     */
    // Template#: 3239, Serial#: 4999
    public void rip_fimuls_r4999(int rel32) {
        assemble0582((byte) 0xDE, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimuls  }<i>rel32</i>
     * Example disassembly syntax: {@code fimuls    [L1: +305419896]}
     */
    // Template#: 3240, Serial#: 5063
    public void rip_fimuls_r5063(int rel32) {
        assemble0342((byte) 0xDE, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimull  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fimull    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3241, Serial#: 4331
    public void fimull(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDA, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimull  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fimull    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3242, Serial#: 4395
    public void fimull_r4395(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDA, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimull  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fimull    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3243, Serial#: 4459
    public void fimull_r4459(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDA, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimuls  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fimuls    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3244, Serial#: 4979
    public void fimuls(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDE, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimuls  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fimuls    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3245, Serial#: 5043
    public void fimuls_r5043(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDE, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimuls  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fimuls    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3246, Serial#: 5107
    public void fimuls_r5107(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDE, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimull  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fimull    0x12345678[rsi * 4]}
     */
    // Template#: 3247, Serial#: 4286
    public void m_fimull(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDA, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimull  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fimull    0x12345678[rsi * 4]}
     */
    // Template#: 3248, Serial#: 4350
    public void m_fimull_r4350(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDA, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimull  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fimull    0x12345678[rsi * 4]}
     */
    // Template#: 3249, Serial#: 4414
    public void m_fimull_r4414(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDA, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimuls  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fimuls    0x12345678[rsi * 4]}
     */
    // Template#: 3250, Serial#: 4934
    public void m_fimuls(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDE, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimuls  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fimuls    0x12345678[rsi * 4]}
     */
    // Template#: 3251, Serial#: 4998
    public void m_fimuls_r4998(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDE, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimuls  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fimuls    0x12345678[rsi * 4]}
     */
    // Template#: 3252, Serial#: 5062
    public void m_fimuls_r5062(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDE, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimull  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fimull    [rbx + 305419896]}
     */
    // Template#: 3253, Serial#: 4330
    public void fimull(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDA, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimull  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fimull    [rbx + 305419896]}
     */
    // Template#: 3254, Serial#: 4394
    public void fimull_r4394(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDA, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimull  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fimull    [rbx + 305419896]}
     */
    // Template#: 3255, Serial#: 4458
    public void fimull_r4458(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDA, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimuls  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fimuls    [rbx + 305419896]}
     */
    // Template#: 3256, Serial#: 4978
    public void fimuls(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDE, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimuls  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fimuls    [rbx + 305419896]}
     */
    // Template#: 3257, Serial#: 5042
    public void fimuls_r5042(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDE, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fimuls  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fimuls    [rbx + 305419896]}
     */
    // Template#: 3258, Serial#: 5106
    public void fimuls_r5106(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDE, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fincstp  }
     * Example disassembly syntax: {@code fincstp }
     */
    // Template#: 3259, Serial#: 12851
    public void fincstp() {
        assemble0588((byte) 0xF7);
    }

    /**
     * Pseudo-external assembler syntax: {@code fincstp  }
     * Example disassembly syntax: {@code fincstp }
     */
    // Template#: 3260, Serial#: 12852
    public void fincstp_r12852() {
        assemble0589((byte) 0xF7);
    }

    /**
     * Pseudo-external assembler syntax: {@code fincstp  }
     * Example disassembly syntax: {@code fincstp }
     */
    // Template#: 3261, Serial#: 12853
    public void fincstp_r12853() {
        assemble0590((byte) 0xF7);
    }

    /**
     * Pseudo-external assembler syntax: {@code finit  }
     * Example disassembly syntax: {@code finit   }
     */
    // Template#: 3262, Serial#: 12908
    public void finit() {
        assemble0600((byte) 0xE3);
    }

    /**
     * Pseudo-external assembler syntax: {@code finit  }
     * Example disassembly syntax: {@code finit   }
     */
    // Template#: 3263, Serial#: 12909
    public void finit_r12909() {
        assemble0601((byte) 0xE3);
    }

    /**
     * Pseudo-external assembler syntax: {@code finit  }
     * Example disassembly syntax: {@code finit   }
     */
    // Template#: 3264, Serial#: 12910
    public void finit_r12910() {
        assemble0602((byte) 0xE3);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistl     rbx[rsi * 4 + 18]}
     */
    // Template#: 3265, Serial#: 4495
    public void fistl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDB, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistl     rbx[rsi * 4 + 18]}
     */
    // Template#: 3266, Serial#: 4535
    public void fistl_r4535(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDB, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistl     rbx[rsi * 4 + 18]}
     */
    // Template#: 3267, Serial#: 4575
    public void fistl_r4575(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDB, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fists  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fists     rbx[rsi * 4 + 18]}
     */
    // Template#: 3268, Serial#: 5151
    public void fists(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDF, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fists  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fists     rbx[rsi * 4 + 18]}
     */
    // Template#: 3269, Serial#: 5207
    public void fists_r5207(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDF, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fists  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fists     rbx[rsi * 4 + 18]}
     */
    // Template#: 3270, Serial#: 5263
    public void fists_r5263(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDF, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fistl     [rbx + 18]}
     */
    // Template#: 3271, Serial#: 4494
    public void fistl(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDB, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fistl     [rbx + 18]}
     */
    // Template#: 3272, Serial#: 4534
    public void fistl_r4534(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDB, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fistl     [rbx + 18]}
     */
    // Template#: 3273, Serial#: 4574
    public void fistl_r4574(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDB, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fists  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fists     [rbx + 18]}
     */
    // Template#: 3274, Serial#: 5150
    public void fists(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDF, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fists  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fists     [rbx + 18]}
     */
    // Template#: 3275, Serial#: 5206
    public void fists_r5206(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDF, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fists  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fists     [rbx + 18]}
     */
    // Template#: 3276, Serial#: 5262
    public void fists_r5262(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDF, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistl     rbx[rsi * 4]}
     */
    // Template#: 3277, Serial#: 4477
    public void fistl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDB, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistl     rbx[rsi * 4]}
     */
    // Template#: 3278, Serial#: 4517
    public void fistl_r4517(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDB, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistl     rbx[rsi * 4]}
     */
    // Template#: 3279, Serial#: 4557
    public void fistl_r4557(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDB, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fists  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fists     rbx[rsi * 4]}
     */
    // Template#: 3280, Serial#: 5125
    public void fists(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDF, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fists  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fists     rbx[rsi * 4]}
     */
    // Template#: 3281, Serial#: 5181
    public void fists_r5181(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDF, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fists  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fists     rbx[rsi * 4]}
     */
    // Template#: 3282, Serial#: 5237
    public void fists_r5237(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDF, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistl  }<i>destination</i>
     * Example disassembly syntax: {@code fistl     [rbx]}
     */
    // Template#: 3283, Serial#: 4476
    public void fistl(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDB, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistl  }<i>destination</i>
     * Example disassembly syntax: {@code fistl     [rbx]}
     */
    // Template#: 3284, Serial#: 4516
    public void fistl_r4516(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDB, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistl  }<i>destination</i>
     * Example disassembly syntax: {@code fistl     [rbx]}
     */
    // Template#: 3285, Serial#: 4556
    public void fistl_r4556(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDB, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fists  }<i>destination</i>
     * Example disassembly syntax: {@code fists     [rbx]}
     */
    // Template#: 3286, Serial#: 5124
    public void fists(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDF, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fists  }<i>destination</i>
     * Example disassembly syntax: {@code fists     [rbx]}
     */
    // Template#: 3287, Serial#: 5180
    public void fists_r5180(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDF, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fists  }<i>destination</i>
     * Example disassembly syntax: {@code fists     [rbx]}
     */
    // Template#: 3288, Serial#: 5236
    public void fists_r5236(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDF, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistl  }<i>rel32</i>
     * Example disassembly syntax: {@code fistl     [L1: +305419896]}
     */
    // Template#: 3289, Serial#: 4479
    public void rip_fistl(int rel32) {
        assemble0341((byte) 0xDB, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistl  }<i>rel32</i>
     * Example disassembly syntax: {@code fistl     [L1: +305419896]}
     */
    // Template#: 3290, Serial#: 4519
    public void rip_fistl_r4519(int rel32) {
        assemble0582((byte) 0xDB, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistl  }<i>rel32</i>
     * Example disassembly syntax: {@code fistl     [L1: +305419896]}
     */
    // Template#: 3291, Serial#: 4559
    public void rip_fistl_r4559(int rel32) {
        assemble0342((byte) 0xDB, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fists  }<i>rel32</i>
     * Example disassembly syntax: {@code fists     [L1: +305419896]}
     */
    // Template#: 3292, Serial#: 5127
    public void rip_fists(int rel32) {
        assemble0341((byte) 0xDF, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fists  }<i>rel32</i>
     * Example disassembly syntax: {@code fists     [L1: +305419896]}
     */
    // Template#: 3293, Serial#: 5183
    public void rip_fists_r5183(int rel32) {
        assemble0582((byte) 0xDF, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fists  }<i>rel32</i>
     * Example disassembly syntax: {@code fists     [L1: +305419896]}
     */
    // Template#: 3294, Serial#: 5239
    public void rip_fists_r5239(int rel32) {
        assemble0342((byte) 0xDF, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistl     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3295, Serial#: 4505
    public void fistl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDB, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistl     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3296, Serial#: 4545
    public void fistl_r4545(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDB, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistl     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3297, Serial#: 4585
    public void fistl_r4585(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDB, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fists  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fists     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3298, Serial#: 5165
    public void fists(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDF, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fists  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fists     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3299, Serial#: 5221
    public void fists_r5221(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDF, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fists  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fists     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3300, Serial#: 5277
    public void fists_r5277(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDF, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistl     0x12345678[rsi * 4]}
     */
    // Template#: 3301, Serial#: 4478
    public void m_fistl(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDB, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistl     0x12345678[rsi * 4]}
     */
    // Template#: 3302, Serial#: 4518
    public void m_fistl_r4518(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDB, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistl     0x12345678[rsi * 4]}
     */
    // Template#: 3303, Serial#: 4558
    public void m_fistl_r4558(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDB, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fists  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fists     0x12345678[rsi * 4]}
     */
    // Template#: 3304, Serial#: 5126
    public void m_fists(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDF, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fists  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fists     0x12345678[rsi * 4]}
     */
    // Template#: 3305, Serial#: 5182
    public void m_fists_r5182(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDF, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fists  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fists     0x12345678[rsi * 4]}
     */
    // Template#: 3306, Serial#: 5238
    public void m_fists_r5238(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDF, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fistl     [rbx + 305419896]}
     */
    // Template#: 3307, Serial#: 4504
    public void fistl(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDB, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fistl     [rbx + 305419896]}
     */
    // Template#: 3308, Serial#: 4544
    public void fistl_r4544(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDB, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fistl     [rbx + 305419896]}
     */
    // Template#: 3309, Serial#: 4584
    public void fistl_r4584(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDB, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fists  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fists     [rbx + 305419896]}
     */
    // Template#: 3310, Serial#: 5164
    public void fists(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDF, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fists  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fists     [rbx + 305419896]}
     */
    // Template#: 3311, Serial#: 5220
    public void fists_r5220(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDF, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fists  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fists     [rbx + 305419896]}
     */
    // Template#: 3312, Serial#: 5276
    public void fists_r5276(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDF, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistpl    rbx[rsi * 4 + 18]}
     */
    // Template#: 3313, Serial#: 4497
    public void fistpl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDB, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistpl    rbx[rsi * 4 + 18]}
     */
    // Template#: 3314, Serial#: 4537
    public void fistpl_r4537(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDB, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistpl    rbx[rsi * 4 + 18]}
     */
    // Template#: 3315, Serial#: 4577
    public void fistpl_r4577(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDB, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistps  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistps    rbx[rsi * 4 + 18]}
     */
    // Template#: 3316, Serial#: 5153
    public void fistps(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDF, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistpq    rbx[rsi * 4 + 18]}
     */
    // Template#: 3317, Serial#: 5161
    public void fistpq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDF, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistps  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistps    rbx[rsi * 4 + 18]}
     */
    // Template#: 3318, Serial#: 5209
    public void fistps_r5209(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDF, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistpq    rbx[rsi * 4 + 18]}
     */
    // Template#: 3319, Serial#: 5217
    public void fistpq_r5217(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDF, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistps  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistps    rbx[rsi * 4 + 18]}
     */
    // Template#: 3320, Serial#: 5265
    public void fistps_r5265(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDF, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistpq    rbx[rsi * 4 + 18]}
     */
    // Template#: 3321, Serial#: 5273
    public void fistpq_r5273(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDF, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fistpl    [rbx + 18]}
     */
    // Template#: 3322, Serial#: 4496
    public void fistpl(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDB, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fistpl    [rbx + 18]}
     */
    // Template#: 3323, Serial#: 4536
    public void fistpl_r4536(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDB, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fistpl    [rbx + 18]}
     */
    // Template#: 3324, Serial#: 4576
    public void fistpl_r4576(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDB, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistps  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fistps    [rbx + 18]}
     */
    // Template#: 3325, Serial#: 5152
    public void fistps(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDF, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fistpq    [rbx + 18]}
     */
    // Template#: 3326, Serial#: 5160
    public void fistpq(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDF, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistps  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fistps    [rbx + 18]}
     */
    // Template#: 3327, Serial#: 5208
    public void fistps_r5208(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDF, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fistpq    [rbx + 18]}
     */
    // Template#: 3328, Serial#: 5216
    public void fistpq_r5216(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDF, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistps  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fistps    [rbx + 18]}
     */
    // Template#: 3329, Serial#: 5264
    public void fistps_r5264(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDF, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fistpq    [rbx + 18]}
     */
    // Template#: 3330, Serial#: 5272
    public void fistpq_r5272(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDF, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistpl    rbx[rsi * 4]}
     */
    // Template#: 3331, Serial#: 4481
    public void fistpl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDB, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistpl    rbx[rsi * 4]}
     */
    // Template#: 3332, Serial#: 4521
    public void fistpl_r4521(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDB, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistpl    rbx[rsi * 4]}
     */
    // Template#: 3333, Serial#: 4561
    public void fistpl_r4561(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDB, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistps  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistps    rbx[rsi * 4]}
     */
    // Template#: 3334, Serial#: 5129
    public void fistps(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDF, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistpq    rbx[rsi * 4]}
     */
    // Template#: 3335, Serial#: 5145
    public void fistpq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDF, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistps  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistps    rbx[rsi * 4]}
     */
    // Template#: 3336, Serial#: 5185
    public void fistps_r5185(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDF, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistpq    rbx[rsi * 4]}
     */
    // Template#: 3337, Serial#: 5201
    public void fistpq_r5201(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDF, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistps  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistps    rbx[rsi * 4]}
     */
    // Template#: 3338, Serial#: 5241
    public void fistps_r5241(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDF, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistpq    rbx[rsi * 4]}
     */
    // Template#: 3339, Serial#: 5257
    public void fistpq_r5257(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDF, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpl  }<i>destination</i>
     * Example disassembly syntax: {@code fistpl    [rbx]}
     */
    // Template#: 3340, Serial#: 4480
    public void fistpl(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDB, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpl  }<i>destination</i>
     * Example disassembly syntax: {@code fistpl    [rbx]}
     */
    // Template#: 3341, Serial#: 4520
    public void fistpl_r4520(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDB, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpl  }<i>destination</i>
     * Example disassembly syntax: {@code fistpl    [rbx]}
     */
    // Template#: 3342, Serial#: 4560
    public void fistpl_r4560(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDB, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistps  }<i>destination</i>
     * Example disassembly syntax: {@code fistps    [rbx]}
     */
    // Template#: 3343, Serial#: 5128
    public void fistps(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDF, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpq  }<i>destination</i>
     * Example disassembly syntax: {@code fistpq    [rbx]}
     */
    // Template#: 3344, Serial#: 5144
    public void fistpq(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDF, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistps  }<i>destination</i>
     * Example disassembly syntax: {@code fistps    [rbx]}
     */
    // Template#: 3345, Serial#: 5184
    public void fistps_r5184(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDF, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpq  }<i>destination</i>
     * Example disassembly syntax: {@code fistpq    [rbx]}
     */
    // Template#: 3346, Serial#: 5200
    public void fistpq_r5200(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDF, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistps  }<i>destination</i>
     * Example disassembly syntax: {@code fistps    [rbx]}
     */
    // Template#: 3347, Serial#: 5240
    public void fistps_r5240(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDF, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpq  }<i>destination</i>
     * Example disassembly syntax: {@code fistpq    [rbx]}
     */
    // Template#: 3348, Serial#: 5256
    public void fistpq_r5256(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDF, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpl  }<i>rel32</i>
     * Example disassembly syntax: {@code fistpl    [L1: +305419896]}
     */
    // Template#: 3349, Serial#: 4483
    public void rip_fistpl(int rel32) {
        assemble0341((byte) 0xDB, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpl  }<i>rel32</i>
     * Example disassembly syntax: {@code fistpl    [L1: +305419896]}
     */
    // Template#: 3350, Serial#: 4523
    public void rip_fistpl_r4523(int rel32) {
        assemble0582((byte) 0xDB, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpl  }<i>rel32</i>
     * Example disassembly syntax: {@code fistpl    [L1: +305419896]}
     */
    // Template#: 3351, Serial#: 4563
    public void rip_fistpl_r4563(int rel32) {
        assemble0342((byte) 0xDB, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistps  }<i>rel32</i>
     * Example disassembly syntax: {@code fistps    [L1: +305419896]}
     */
    // Template#: 3352, Serial#: 5131
    public void rip_fistps(int rel32) {
        assemble0341((byte) 0xDF, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpq  }<i>rel32</i>
     * Example disassembly syntax: {@code fistpq    [L1: +305419896]}
     */
    // Template#: 3353, Serial#: 5147
    public void rip_fistpq(int rel32) {
        assemble0341((byte) 0xDF, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistps  }<i>rel32</i>
     * Example disassembly syntax: {@code fistps    [L1: +305419896]}
     */
    // Template#: 3354, Serial#: 5187
    public void rip_fistps_r5187(int rel32) {
        assemble0582((byte) 0xDF, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpq  }<i>rel32</i>
     * Example disassembly syntax: {@code fistpq    [L1: +305419896]}
     */
    // Template#: 3355, Serial#: 5203
    public void rip_fistpq_r5203(int rel32) {
        assemble0582((byte) 0xDF, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistps  }<i>rel32</i>
     * Example disassembly syntax: {@code fistps    [L1: +305419896]}
     */
    // Template#: 3356, Serial#: 5243
    public void rip_fistps_r5243(int rel32) {
        assemble0342((byte) 0xDF, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpq  }<i>rel32</i>
     * Example disassembly syntax: {@code fistpq    [L1: +305419896]}
     */
    // Template#: 3357, Serial#: 5259
    public void rip_fistpq_r5259(int rel32) {
        assemble0342((byte) 0xDF, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistpl    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3358, Serial#: 4507
    public void fistpl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDB, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistpl    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3359, Serial#: 4547
    public void fistpl_r4547(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDB, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistpl    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3360, Serial#: 4587
    public void fistpl_r4587(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDB, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistps  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistps    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3361, Serial#: 5167
    public void fistps(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDF, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistpq    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3362, Serial#: 5175
    public void fistpq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDF, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistps  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistps    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3363, Serial#: 5223
    public void fistps_r5223(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDF, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistpq    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3364, Serial#: 5231
    public void fistpq_r5231(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDF, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistps  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistps    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3365, Serial#: 5279
    public void fistps_r5279(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDF, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistpq    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3366, Serial#: 5287
    public void fistpq_r5287(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDF, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistpl    0x12345678[rsi * 4]}
     */
    // Template#: 3367, Serial#: 4482
    public void m_fistpl(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDB, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistpl    0x12345678[rsi * 4]}
     */
    // Template#: 3368, Serial#: 4522
    public void m_fistpl_r4522(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDB, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistpl    0x12345678[rsi * 4]}
     */
    // Template#: 3369, Serial#: 4562
    public void m_fistpl_r4562(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDB, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistps  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistps    0x12345678[rsi * 4]}
     */
    // Template#: 3370, Serial#: 5130
    public void m_fistps(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDF, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistpq    0x12345678[rsi * 4]}
     */
    // Template#: 3371, Serial#: 5146
    public void m_fistpq(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDF, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistps  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistps    0x12345678[rsi * 4]}
     */
    // Template#: 3372, Serial#: 5186
    public void m_fistps_r5186(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDF, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistpq    0x12345678[rsi * 4]}
     */
    // Template#: 3373, Serial#: 5202
    public void m_fistpq_r5202(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDF, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistps  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistps    0x12345678[rsi * 4]}
     */
    // Template#: 3374, Serial#: 5242
    public void m_fistps_r5242(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDF, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fistpq    0x12345678[rsi * 4]}
     */
    // Template#: 3375, Serial#: 5258
    public void m_fistpq_r5258(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDF, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fistpl    [rbx + 305419896]}
     */
    // Template#: 3376, Serial#: 4506
    public void fistpl(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDB, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fistpl    [rbx + 305419896]}
     */
    // Template#: 3377, Serial#: 4546
    public void fistpl_r4546(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDB, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fistpl    [rbx + 305419896]}
     */
    // Template#: 3378, Serial#: 4586
    public void fistpl_r4586(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDB, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistps  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fistps    [rbx + 305419896]}
     */
    // Template#: 3379, Serial#: 5166
    public void fistps(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDF, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fistpq    [rbx + 305419896]}
     */
    // Template#: 3380, Serial#: 5174
    public void fistpq(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDF, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistps  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fistps    [rbx + 305419896]}
     */
    // Template#: 3381, Serial#: 5222
    public void fistps_r5222(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDF, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fistpq    [rbx + 305419896]}
     */
    // Template#: 3382, Serial#: 5230
    public void fistpq_r5230(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDF, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistps  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fistps    [rbx + 305419896]}
     */
    // Template#: 3383, Serial#: 5278
    public void fistps_r5278(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDF, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fistpq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fistpq    [rbx + 305419896]}
     */
    // Template#: 3384, Serial#: 5286
    public void fistpq_r5286(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDF, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubl    rbx[rsi * 4 + 18]}
     */
    // Template#: 3385, Serial#: 4321
    public void fisubl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDA, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubl    rbx[rsi * 4 + 18]}
     */
    // Template#: 3386, Serial#: 4385
    public void fisubl_r4385(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDA, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubl    rbx[rsi * 4 + 18]}
     */
    // Template#: 3387, Serial#: 4449
    public void fisubl_r4449(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDA, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubs  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubs    rbx[rsi * 4 + 18]}
     */
    // Template#: 3388, Serial#: 4969
    public void fisubs(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDE, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubs  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubs    rbx[rsi * 4 + 18]}
     */
    // Template#: 3389, Serial#: 5033
    public void fisubs_r5033(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDE, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubs  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubs    rbx[rsi * 4 + 18]}
     */
    // Template#: 3390, Serial#: 5097
    public void fisubs_r5097(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDE, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fisubl    [rbx + 18]}
     */
    // Template#: 3391, Serial#: 4320
    public void fisubl(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDA, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fisubl    [rbx + 18]}
     */
    // Template#: 3392, Serial#: 4384
    public void fisubl_r4384(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDA, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fisubl    [rbx + 18]}
     */
    // Template#: 3393, Serial#: 4448
    public void fisubl_r4448(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDA, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubs  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fisubs    [rbx + 18]}
     */
    // Template#: 3394, Serial#: 4968
    public void fisubs(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDE, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubs  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fisubs    [rbx + 18]}
     */
    // Template#: 3395, Serial#: 5032
    public void fisubs_r5032(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDE, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubs  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fisubs    [rbx + 18]}
     */
    // Template#: 3396, Serial#: 5096
    public void fisubs_r5096(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDE, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubl    rbx[rsi * 4]}
     */
    // Template#: 3397, Serial#: 4297
    public void fisubl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDA, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubl    rbx[rsi * 4]}
     */
    // Template#: 3398, Serial#: 4361
    public void fisubl_r4361(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDA, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubl    rbx[rsi * 4]}
     */
    // Template#: 3399, Serial#: 4425
    public void fisubl_r4425(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDA, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubs  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubs    rbx[rsi * 4]}
     */
    // Template#: 3400, Serial#: 4945
    public void fisubs(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDE, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubs  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubs    rbx[rsi * 4]}
     */
    // Template#: 3401, Serial#: 5009
    public void fisubs_r5009(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDE, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubs  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubs    rbx[rsi * 4]}
     */
    // Template#: 3402, Serial#: 5073
    public void fisubs_r5073(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDE, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubl  }<i>destination</i>
     * Example disassembly syntax: {@code fisubl    [rbx]}
     */
    // Template#: 3403, Serial#: 4296
    public void fisubl(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDA, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubl  }<i>destination</i>
     * Example disassembly syntax: {@code fisubl    [rbx]}
     */
    // Template#: 3404, Serial#: 4360
    public void fisubl_r4360(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDA, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubl  }<i>destination</i>
     * Example disassembly syntax: {@code fisubl    [rbx]}
     */
    // Template#: 3405, Serial#: 4424
    public void fisubl_r4424(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDA, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubs  }<i>destination</i>
     * Example disassembly syntax: {@code fisubs    [rbx]}
     */
    // Template#: 3406, Serial#: 4944
    public void fisubs(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDE, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubs  }<i>destination</i>
     * Example disassembly syntax: {@code fisubs    [rbx]}
     */
    // Template#: 3407, Serial#: 5008
    public void fisubs_r5008(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDE, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubs  }<i>destination</i>
     * Example disassembly syntax: {@code fisubs    [rbx]}
     */
    // Template#: 3408, Serial#: 5072
    public void fisubs_r5072(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDE, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubl  }<i>rel32</i>
     * Example disassembly syntax: {@code fisubl    [L1: +305419896]}
     */
    // Template#: 3409, Serial#: 4299
    public void rip_fisubl(int rel32) {
        assemble0341((byte) 0xDA, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubl  }<i>rel32</i>
     * Example disassembly syntax: {@code fisubl    [L1: +305419896]}
     */
    // Template#: 3410, Serial#: 4363
    public void rip_fisubl_r4363(int rel32) {
        assemble0582((byte) 0xDA, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubl  }<i>rel32</i>
     * Example disassembly syntax: {@code fisubl    [L1: +305419896]}
     */
    // Template#: 3411, Serial#: 4427
    public void rip_fisubl_r4427(int rel32) {
        assemble0342((byte) 0xDA, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubs  }<i>rel32</i>
     * Example disassembly syntax: {@code fisubs    [L1: +305419896]}
     */
    // Template#: 3412, Serial#: 4947
    public void rip_fisubs(int rel32) {
        assemble0341((byte) 0xDE, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubs  }<i>rel32</i>
     * Example disassembly syntax: {@code fisubs    [L1: +305419896]}
     */
    // Template#: 3413, Serial#: 5011
    public void rip_fisubs_r5011(int rel32) {
        assemble0582((byte) 0xDE, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubs  }<i>rel32</i>
     * Example disassembly syntax: {@code fisubs    [L1: +305419896]}
     */
    // Template#: 3414, Serial#: 5075
    public void rip_fisubs_r5075(int rel32) {
        assemble0342((byte) 0xDE, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubl    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3415, Serial#: 4337
    public void fisubl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDA, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubl    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3416, Serial#: 4401
    public void fisubl_r4401(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDA, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubl    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3417, Serial#: 4465
    public void fisubl_r4465(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDA, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubs  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubs    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3418, Serial#: 4985
    public void fisubs(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDE, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubs  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubs    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3419, Serial#: 5049
    public void fisubs_r5049(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDE, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubs  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubs    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3420, Serial#: 5113
    public void fisubs_r5113(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDE, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubl    0x12345678[rsi * 4]}
     */
    // Template#: 3421, Serial#: 4298
    public void m_fisubl(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDA, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubl    0x12345678[rsi * 4]}
     */
    // Template#: 3422, Serial#: 4362
    public void m_fisubl_r4362(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDA, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubl    0x12345678[rsi * 4]}
     */
    // Template#: 3423, Serial#: 4426
    public void m_fisubl_r4426(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDA, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubs  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubs    0x12345678[rsi * 4]}
     */
    // Template#: 3424, Serial#: 4946
    public void m_fisubs(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDE, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubs  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubs    0x12345678[rsi * 4]}
     */
    // Template#: 3425, Serial#: 5010
    public void m_fisubs_r5010(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDE, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubs  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubs    0x12345678[rsi * 4]}
     */
    // Template#: 3426, Serial#: 5074
    public void m_fisubs_r5074(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDE, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fisubl    [rbx + 305419896]}
     */
    // Template#: 3427, Serial#: 4336
    public void fisubl(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDA, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fisubl    [rbx + 305419896]}
     */
    // Template#: 3428, Serial#: 4400
    public void fisubl_r4400(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDA, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fisubl    [rbx + 305419896]}
     */
    // Template#: 3429, Serial#: 4464
    public void fisubl_r4464(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDA, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubs  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fisubs    [rbx + 305419896]}
     */
    // Template#: 3430, Serial#: 4984
    public void fisubs(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDE, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubs  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fisubs    [rbx + 305419896]}
     */
    // Template#: 3431, Serial#: 5048
    public void fisubs_r5048(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDE, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubs  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fisubs    [rbx + 305419896]}
     */
    // Template#: 3432, Serial#: 5112
    public void fisubs_r5112(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDE, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubrl   rbx[rsi * 4 + 18]}
     */
    // Template#: 3433, Serial#: 4323
    public void fisubrl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDA, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubrl   rbx[rsi * 4 + 18]}
     */
    // Template#: 3434, Serial#: 4387
    public void fisubrl_r4387(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDA, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubrl   rbx[rsi * 4 + 18]}
     */
    // Template#: 3435, Serial#: 4451
    public void fisubrl_r4451(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDA, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrs  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubrs   rbx[rsi * 4 + 18]}
     */
    // Template#: 3436, Serial#: 4971
    public void fisubrs(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDE, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrs  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubrs   rbx[rsi * 4 + 18]}
     */
    // Template#: 3437, Serial#: 5035
    public void fisubrs_r5035(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDE, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrs  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubrs   rbx[rsi * 4 + 18]}
     */
    // Template#: 3438, Serial#: 5099
    public void fisubrs_r5099(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDE, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fisubrl   [rbx + 18]}
     */
    // Template#: 3439, Serial#: 4322
    public void fisubrl(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDA, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fisubrl   [rbx + 18]}
     */
    // Template#: 3440, Serial#: 4386
    public void fisubrl_r4386(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDA, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fisubrl   [rbx + 18]}
     */
    // Template#: 3441, Serial#: 4450
    public void fisubrl_r4450(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDA, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrs  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fisubrs   [rbx + 18]}
     */
    // Template#: 3442, Serial#: 4970
    public void fisubrs(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDE, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrs  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fisubrs   [rbx + 18]}
     */
    // Template#: 3443, Serial#: 5034
    public void fisubrs_r5034(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDE, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrs  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fisubrs   [rbx + 18]}
     */
    // Template#: 3444, Serial#: 5098
    public void fisubrs_r5098(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDE, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubrl   rbx[rsi * 4]}
     */
    // Template#: 3445, Serial#: 4301
    public void fisubrl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDA, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubrl   rbx[rsi * 4]}
     */
    // Template#: 3446, Serial#: 4365
    public void fisubrl_r4365(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDA, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubrl   rbx[rsi * 4]}
     */
    // Template#: 3447, Serial#: 4429
    public void fisubrl_r4429(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDA, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrs  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubrs   rbx[rsi * 4]}
     */
    // Template#: 3448, Serial#: 4949
    public void fisubrs(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDE, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrs  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubrs   rbx[rsi * 4]}
     */
    // Template#: 3449, Serial#: 5013
    public void fisubrs_r5013(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDE, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrs  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubrs   rbx[rsi * 4]}
     */
    // Template#: 3450, Serial#: 5077
    public void fisubrs_r5077(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDE, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrl  }<i>destination</i>
     * Example disassembly syntax: {@code fisubrl   [rbx]}
     */
    // Template#: 3451, Serial#: 4300
    public void fisubrl(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDA, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrl  }<i>destination</i>
     * Example disassembly syntax: {@code fisubrl   [rbx]}
     */
    // Template#: 3452, Serial#: 4364
    public void fisubrl_r4364(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDA, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrl  }<i>destination</i>
     * Example disassembly syntax: {@code fisubrl   [rbx]}
     */
    // Template#: 3453, Serial#: 4428
    public void fisubrl_r4428(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDA, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrs  }<i>destination</i>
     * Example disassembly syntax: {@code fisubrs   [rbx]}
     */
    // Template#: 3454, Serial#: 4948
    public void fisubrs(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDE, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrs  }<i>destination</i>
     * Example disassembly syntax: {@code fisubrs   [rbx]}
     */
    // Template#: 3455, Serial#: 5012
    public void fisubrs_r5012(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDE, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrs  }<i>destination</i>
     * Example disassembly syntax: {@code fisubrs   [rbx]}
     */
    // Template#: 3456, Serial#: 5076
    public void fisubrs_r5076(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDE, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrl  }<i>rel32</i>
     * Example disassembly syntax: {@code fisubrl   [L1: +305419896]}
     */
    // Template#: 3457, Serial#: 4303
    public void rip_fisubrl(int rel32) {
        assemble0341((byte) 0xDA, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrl  }<i>rel32</i>
     * Example disassembly syntax: {@code fisubrl   [L1: +305419896]}
     */
    // Template#: 3458, Serial#: 4367
    public void rip_fisubrl_r4367(int rel32) {
        assemble0582((byte) 0xDA, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrl  }<i>rel32</i>
     * Example disassembly syntax: {@code fisubrl   [L1: +305419896]}
     */
    // Template#: 3459, Serial#: 4431
    public void rip_fisubrl_r4431(int rel32) {
        assemble0342((byte) 0xDA, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrs  }<i>rel32</i>
     * Example disassembly syntax: {@code fisubrs   [L1: +305419896]}
     */
    // Template#: 3460, Serial#: 4951
    public void rip_fisubrs(int rel32) {
        assemble0341((byte) 0xDE, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrs  }<i>rel32</i>
     * Example disassembly syntax: {@code fisubrs   [L1: +305419896]}
     */
    // Template#: 3461, Serial#: 5015
    public void rip_fisubrs_r5015(int rel32) {
        assemble0582((byte) 0xDE, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrs  }<i>rel32</i>
     * Example disassembly syntax: {@code fisubrs   [L1: +305419896]}
     */
    // Template#: 3462, Serial#: 5079
    public void rip_fisubrs_r5079(int rel32) {
        assemble0342((byte) 0xDE, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubrl   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3463, Serial#: 4339
    public void fisubrl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDA, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubrl   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3464, Serial#: 4403
    public void fisubrl_r4403(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDA, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubrl   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3465, Serial#: 4467
    public void fisubrl_r4467(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDA, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrs  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubrs   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3466, Serial#: 4987
    public void fisubrs(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDE, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrs  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubrs   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3467, Serial#: 5051
    public void fisubrs_r5051(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDE, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrs  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubrs   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3468, Serial#: 5115
    public void fisubrs_r5115(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDE, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubrl   0x12345678[rsi * 4]}
     */
    // Template#: 3469, Serial#: 4302
    public void m_fisubrl(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDA, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubrl   0x12345678[rsi * 4]}
     */
    // Template#: 3470, Serial#: 4366
    public void m_fisubrl_r4366(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDA, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubrl   0x12345678[rsi * 4]}
     */
    // Template#: 3471, Serial#: 4430
    public void m_fisubrl_r4430(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDA, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrs  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubrs   0x12345678[rsi * 4]}
     */
    // Template#: 3472, Serial#: 4950
    public void m_fisubrs(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDE, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrs  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubrs   0x12345678[rsi * 4]}
     */
    // Template#: 3473, Serial#: 5014
    public void m_fisubrs_r5014(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDE, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrs  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fisubrs   0x12345678[rsi * 4]}
     */
    // Template#: 3474, Serial#: 5078
    public void m_fisubrs_r5078(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDE, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fisubrl   [rbx + 305419896]}
     */
    // Template#: 3475, Serial#: 4338
    public void fisubrl(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDA, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fisubrl   [rbx + 305419896]}
     */
    // Template#: 3476, Serial#: 4402
    public void fisubrl_r4402(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDA, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fisubrl   [rbx + 305419896]}
     */
    // Template#: 3477, Serial#: 4466
    public void fisubrl_r4466(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDA, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrs  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fisubrs   [rbx + 305419896]}
     */
    // Template#: 3478, Serial#: 4986
    public void fisubrs(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDE, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrs  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fisubrs   [rbx + 305419896]}
     */
    // Template#: 3479, Serial#: 5050
    public void fisubrs_r5050(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDE, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fisubrs  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fisubrs   [rbx + 305419896]}
     */
    // Template#: 3480, Serial#: 5114
    public void fisubrs_r5114(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDE, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code flds  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code flds      rbx[rsi * 4 + 18]}
     */
    // Template#: 3481, Serial#: 4141
    public void flds(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD9, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code flds  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code flds      rbx[rsi * 4 + 18]}
     */
    // Template#: 3482, Serial#: 4197
    public void flds_r4197(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD9, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code flds  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code flds      rbx[rsi * 4 + 18]}
     */
    // Template#: 3483, Serial#: 4253
    public void flds_r4253(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD9, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldt      rbx[rsi * 4 + 18]}
     */
    // Template#: 3484, Serial#: 4499
    public void fldt(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDB, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldt      rbx[rsi * 4 + 18]}
     */
    // Template#: 3485, Serial#: 4539
    public void fldt_r4539(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDB, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldt      rbx[rsi * 4 + 18]}
     */
    // Template#: 3486, Serial#: 4579
    public void fldt_r4579(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDB, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldl      rbx[rsi * 4 + 18]}
     */
    // Template#: 3487, Serial#: 4809
    public void fldl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDD, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldl      rbx[rsi * 4 + 18]}
     */
    // Template#: 3488, Serial#: 4857
    public void fldl_r4857(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDD, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldl      rbx[rsi * 4 + 18]}
     */
    // Template#: 3489, Serial#: 4905
    public void fldl_r4905(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDD, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code flds  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code flds      [rbx + 18]}
     */
    // Template#: 3490, Serial#: 4140
    public void flds(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD9, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code flds  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code flds      [rbx + 18]}
     */
    // Template#: 3491, Serial#: 4196
    public void flds_r4196(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD9, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code flds  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code flds      [rbx + 18]}
     */
    // Template#: 3492, Serial#: 4252
    public void flds_r4252(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD9, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldt  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fldt      [rbx + 18]}
     */
    // Template#: 3493, Serial#: 4498
    public void fldt(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDB, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldt  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fldt      [rbx + 18]}
     */
    // Template#: 3494, Serial#: 4538
    public void fldt_r4538(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDB, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldt  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fldt      [rbx + 18]}
     */
    // Template#: 3495, Serial#: 4578
    public void fldt_r4578(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDB, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fldl      [rbx + 18]}
     */
    // Template#: 3496, Serial#: 4808
    public void fldl(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDD, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fldl      [rbx + 18]}
     */
    // Template#: 3497, Serial#: 4856
    public void fldl_r4856(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDD, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fldl      [rbx + 18]}
     */
    // Template#: 3498, Serial#: 4904
    public void fldl_r4904(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDD, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code flds  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code flds      rbx[rsi * 4]}
     */
    // Template#: 3499, Serial#: 4113
    public void flds(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD9, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code flds  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code flds      rbx[rsi * 4]}
     */
    // Template#: 3500, Serial#: 4169
    public void flds_r4169(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD9, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code flds  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code flds      rbx[rsi * 4]}
     */
    // Template#: 3501, Serial#: 4225
    public void flds_r4225(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD9, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldt  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldt      rbx[rsi * 4]}
     */
    // Template#: 3502, Serial#: 4485
    public void fldt(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDB, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldt  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldt      rbx[rsi * 4]}
     */
    // Template#: 3503, Serial#: 4525
    public void fldt_r4525(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDB, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldt  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldt      rbx[rsi * 4]}
     */
    // Template#: 3504, Serial#: 4565
    public void fldt_r4565(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDB, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldl      rbx[rsi * 4]}
     */
    // Template#: 3505, Serial#: 4785
    public void fldl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDD, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldl      rbx[rsi * 4]}
     */
    // Template#: 3506, Serial#: 4833
    public void fldl_r4833(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDD, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldl      rbx[rsi * 4]}
     */
    // Template#: 3507, Serial#: 4881
    public void fldl_r4881(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDD, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code flds  }<i>destination</i>
     * Example disassembly syntax: {@code flds      [rbx]}
     */
    // Template#: 3508, Serial#: 4112
    public void flds(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD9, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code flds  }<i>destination</i>
     * Example disassembly syntax: {@code flds      [rbx]}
     */
    // Template#: 3509, Serial#: 4168
    public void flds_r4168(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD9, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code flds  }<i>destination</i>
     * Example disassembly syntax: {@code flds      [rbx]}
     */
    // Template#: 3510, Serial#: 4224
    public void flds_r4224(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD9, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldt  }<i>destination</i>
     * Example disassembly syntax: {@code fldt      [rbx]}
     */
    // Template#: 3511, Serial#: 4484
    public void fldt(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDB, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldt  }<i>destination</i>
     * Example disassembly syntax: {@code fldt      [rbx]}
     */
    // Template#: 3512, Serial#: 4524
    public void fldt_r4524(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDB, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldt  }<i>destination</i>
     * Example disassembly syntax: {@code fldt      [rbx]}
     */
    // Template#: 3513, Serial#: 4564
    public void fldt_r4564(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDB, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl  }<i>destination</i>
     * Example disassembly syntax: {@code fldl      [rbx]}
     */
    // Template#: 3514, Serial#: 4784
    public void fldl(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDD, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl  }<i>destination</i>
     * Example disassembly syntax: {@code fldl      [rbx]}
     */
    // Template#: 3515, Serial#: 4832
    public void fldl_r4832(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDD, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl  }<i>destination</i>
     * Example disassembly syntax: {@code fldl      [rbx]}
     */
    // Template#: 3516, Serial#: 4880
    public void fldl_r4880(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDD, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fld  }<i>st_i</i>
     * Example disassembly syntax: {@code fld       st(0)}
     */
    // Template#: 3517, Serial#: 12785
    public void fld(FPStackRegister st_i) {
        assemble0618((byte) 0xC0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fld  }<i>st_i</i>
     * Example disassembly syntax: {@code fld       st(0)}
     */
    // Template#: 3518, Serial#: 12786
    public void fld_r12786(FPStackRegister st_i) {
        assemble0619((byte) 0xC0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fld  }<i>st_i</i>
     * Example disassembly syntax: {@code fld       st(0)}
     */
    // Template#: 3519, Serial#: 12787
    public void fld_r12787(FPStackRegister st_i) {
        assemble0620((byte) 0xC0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code flds  }<i>rel32</i>
     * Example disassembly syntax: {@code flds      [L1: +305419896]}
     */
    // Template#: 3520, Serial#: 4115
    public void rip_flds(int rel32) {
        assemble0341((byte) 0xD9, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code flds  }<i>rel32</i>
     * Example disassembly syntax: {@code flds      [L1: +305419896]}
     */
    // Template#: 3521, Serial#: 4171
    public void rip_flds_r4171(int rel32) {
        assemble0582((byte) 0xD9, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code flds  }<i>rel32</i>
     * Example disassembly syntax: {@code flds      [L1: +305419896]}
     */
    // Template#: 3522, Serial#: 4227
    public void rip_flds_r4227(int rel32) {
        assemble0342((byte) 0xD9, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldt  }<i>rel32</i>
     * Example disassembly syntax: {@code fldt      [L1: +305419896]}
     */
    // Template#: 3523, Serial#: 4487
    public void rip_fldt(int rel32) {
        assemble0341((byte) 0xDB, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldt  }<i>rel32</i>
     * Example disassembly syntax: {@code fldt      [L1: +305419896]}
     */
    // Template#: 3524, Serial#: 4527
    public void rip_fldt_r4527(int rel32) {
        assemble0582((byte) 0xDB, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldt  }<i>rel32</i>
     * Example disassembly syntax: {@code fldt      [L1: +305419896]}
     */
    // Template#: 3525, Serial#: 4567
    public void rip_fldt_r4567(int rel32) {
        assemble0342((byte) 0xDB, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl  }<i>rel32</i>
     * Example disassembly syntax: {@code fldl      [L1: +305419896]}
     */
    // Template#: 3526, Serial#: 4787
    public void rip_fldl(int rel32) {
        assemble0341((byte) 0xDD, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl  }<i>rel32</i>
     * Example disassembly syntax: {@code fldl      [L1: +305419896]}
     */
    // Template#: 3527, Serial#: 4835
    public void rip_fldl_r4835(int rel32) {
        assemble0582((byte) 0xDD, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl  }<i>rel32</i>
     * Example disassembly syntax: {@code fldl      [L1: +305419896]}
     */
    // Template#: 3528, Serial#: 4883
    public void rip_fldl_r4883(int rel32) {
        assemble0342((byte) 0xDD, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code flds  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code flds      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3529, Serial#: 4155
    public void flds(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD9, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code flds  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code flds      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3530, Serial#: 4211
    public void flds_r4211(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD9, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code flds  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code flds      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3531, Serial#: 4267
    public void flds_r4267(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD9, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldt      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3532, Serial#: 4509
    public void fldt(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDB, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldt      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3533, Serial#: 4549
    public void fldt_r4549(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDB, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldt      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3534, Serial#: 4589
    public void fldt_r4589(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDB, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldl      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3535, Serial#: 4821
    public void fldl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDD, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldl      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3536, Serial#: 4869
    public void fldl_r4869(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDD, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldl      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3537, Serial#: 4917
    public void fldl_r4917(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDD, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code flds  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code flds      0x12345678[rsi * 4]}
     */
    // Template#: 3538, Serial#: 4114
    public void m_flds(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD9, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code flds  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code flds      0x12345678[rsi * 4]}
     */
    // Template#: 3539, Serial#: 4170
    public void m_flds_r4170(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD9, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code flds  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code flds      0x12345678[rsi * 4]}
     */
    // Template#: 3540, Serial#: 4226
    public void m_flds_r4226(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD9, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldt  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldt      0x12345678[rsi * 4]}
     */
    // Template#: 3541, Serial#: 4486
    public void m_fldt(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDB, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldt  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldt      0x12345678[rsi * 4]}
     */
    // Template#: 3542, Serial#: 4526
    public void m_fldt_r4526(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDB, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldt  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldt      0x12345678[rsi * 4]}
     */
    // Template#: 3543, Serial#: 4566
    public void m_fldt_r4566(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDB, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldl      0x12345678[rsi * 4]}
     */
    // Template#: 3544, Serial#: 4786
    public void m_fldl(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDD, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldl      0x12345678[rsi * 4]}
     */
    // Template#: 3545, Serial#: 4834
    public void m_fldl_r4834(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDD, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldl      0x12345678[rsi * 4]}
     */
    // Template#: 3546, Serial#: 4882
    public void m_fldl_r4882(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDD, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code flds  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code flds      [rbx + 305419896]}
     */
    // Template#: 3547, Serial#: 4154
    public void flds(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD9, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code flds  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code flds      [rbx + 305419896]}
     */
    // Template#: 3548, Serial#: 4210
    public void flds_r4210(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD9, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code flds  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code flds      [rbx + 305419896]}
     */
    // Template#: 3549, Serial#: 4266
    public void flds_r4266(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD9, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldt  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fldt      [rbx + 305419896]}
     */
    // Template#: 3550, Serial#: 4508
    public void fldt(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDB, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldt  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fldt      [rbx + 305419896]}
     */
    // Template#: 3551, Serial#: 4548
    public void fldt_r4548(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDB, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldt  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fldt      [rbx + 305419896]}
     */
    // Template#: 3552, Serial#: 4588
    public void fldt_r4588(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDB, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fldl      [rbx + 305419896]}
     */
    // Template#: 3553, Serial#: 4820
    public void fldl(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDD, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fldl      [rbx + 305419896]}
     */
    // Template#: 3554, Serial#: 4868
    public void fldl_r4868(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDD, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fldl      [rbx + 305419896]}
     */
    // Template#: 3555, Serial#: 4916
    public void fldl_r4916(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDD, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fld1  }
     * Example disassembly syntax: {@code fld1    }
     */
    // Template#: 3556, Serial#: 12809
    public void fld1() {
        assemble0588((byte) 0xE8);
    }

    /**
     * Pseudo-external assembler syntax: {@code fld1  }
     * Example disassembly syntax: {@code fld1    }
     */
    // Template#: 3557, Serial#: 12810
    public void fld1_r12810() {
        assemble0589((byte) 0xE8);
    }

    /**
     * Pseudo-external assembler syntax: {@code fld1  }
     * Example disassembly syntax: {@code fld1    }
     */
    // Template#: 3558, Serial#: 12811
    public void fld1_r12811() {
        assemble0590((byte) 0xE8);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldcw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldcw     rbx[rsi * 4 + 18]}
     */
    // Template#: 3559, Serial#: 4149
    public void fldcw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD9, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldcw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldcw     rbx[rsi * 4 + 18]}
     */
    // Template#: 3560, Serial#: 4205
    public void fldcw_r4205(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD9, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldcw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldcw     rbx[rsi * 4 + 18]}
     */
    // Template#: 3561, Serial#: 4261
    public void fldcw_r4261(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD9, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldcw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fldcw     [rbx + 18]}
     */
    // Template#: 3562, Serial#: 4148
    public void fldcw(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD9, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldcw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fldcw     [rbx + 18]}
     */
    // Template#: 3563, Serial#: 4204
    public void fldcw_r4204(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD9, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldcw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fldcw     [rbx + 18]}
     */
    // Template#: 3564, Serial#: 4260
    public void fldcw_r4260(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD9, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldcw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldcw     rbx[rsi * 4]}
     */
    // Template#: 3565, Serial#: 4129
    public void fldcw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD9, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldcw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldcw     rbx[rsi * 4]}
     */
    // Template#: 3566, Serial#: 4185
    public void fldcw_r4185(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD9, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldcw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldcw     rbx[rsi * 4]}
     */
    // Template#: 3567, Serial#: 4241
    public void fldcw_r4241(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD9, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldcw  }<i>destination</i>
     * Example disassembly syntax: {@code fldcw     [rbx]}
     */
    // Template#: 3568, Serial#: 4128
    public void fldcw(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD9, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldcw  }<i>destination</i>
     * Example disassembly syntax: {@code fldcw     [rbx]}
     */
    // Template#: 3569, Serial#: 4184
    public void fldcw_r4184(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD9, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldcw  }<i>destination</i>
     * Example disassembly syntax: {@code fldcw     [rbx]}
     */
    // Template#: 3570, Serial#: 4240
    public void fldcw_r4240(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD9, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldcw  }<i>rel32</i>
     * Example disassembly syntax: {@code fldcw     [L1: +305419896]}
     */
    // Template#: 3571, Serial#: 4131
    public void rip_fldcw(int rel32) {
        assemble0341((byte) 0xD9, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldcw  }<i>rel32</i>
     * Example disassembly syntax: {@code fldcw     [L1: +305419896]}
     */
    // Template#: 3572, Serial#: 4187
    public void rip_fldcw_r4187(int rel32) {
        assemble0582((byte) 0xD9, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldcw  }<i>rel32</i>
     * Example disassembly syntax: {@code fldcw     [L1: +305419896]}
     */
    // Template#: 3573, Serial#: 4243
    public void rip_fldcw_r4243(int rel32) {
        assemble0342((byte) 0xD9, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldcw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldcw     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3574, Serial#: 4163
    public void fldcw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD9, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldcw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldcw     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3575, Serial#: 4219
    public void fldcw_r4219(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD9, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldcw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldcw     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3576, Serial#: 4275
    public void fldcw_r4275(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD9, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldcw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldcw     0x12345678[rsi * 4]}
     */
    // Template#: 3577, Serial#: 4130
    public void m_fldcw(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD9, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldcw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldcw     0x12345678[rsi * 4]}
     */
    // Template#: 3578, Serial#: 4186
    public void m_fldcw_r4186(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD9, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldcw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldcw     0x12345678[rsi * 4]}
     */
    // Template#: 3579, Serial#: 4242
    public void m_fldcw_r4242(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD9, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldcw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fldcw     [rbx + 305419896]}
     */
    // Template#: 3580, Serial#: 4162
    public void fldcw(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD9, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldcw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fldcw     [rbx + 305419896]}
     */
    // Template#: 3581, Serial#: 4218
    public void fldcw_r4218(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD9, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldcw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fldcw     [rbx + 305419896]}
     */
    // Template#: 3582, Serial#: 4274
    public void fldcw_r4274(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD9, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldenv  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldenv    rbx[rsi * 4 + 18]}
     */
    // Template#: 3583, Serial#: 4147
    public void fldenv(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD9, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldenv  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldenv    rbx[rsi * 4 + 18]}
     */
    // Template#: 3584, Serial#: 4203
    public void fldenv_r4203(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD9, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldenv  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldenv    rbx[rsi * 4 + 18]}
     */
    // Template#: 3585, Serial#: 4259
    public void fldenv_r4259(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD9, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldenv  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fldenv    [rbx + 18]}
     */
    // Template#: 3586, Serial#: 4146
    public void fldenv(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD9, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldenv  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fldenv    [rbx + 18]}
     */
    // Template#: 3587, Serial#: 4202
    public void fldenv_r4202(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD9, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldenv  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fldenv    [rbx + 18]}
     */
    // Template#: 3588, Serial#: 4258
    public void fldenv_r4258(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD9, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldenv  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldenv    rbx[rsi * 4]}
     */
    // Template#: 3589, Serial#: 4125
    public void fldenv(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD9, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldenv  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldenv    rbx[rsi * 4]}
     */
    // Template#: 3590, Serial#: 4181
    public void fldenv_r4181(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD9, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldenv  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldenv    rbx[rsi * 4]}
     */
    // Template#: 3591, Serial#: 4237
    public void fldenv_r4237(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD9, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldenv  }<i>destination</i>
     * Example disassembly syntax: {@code fldenv    [rbx]}
     */
    // Template#: 3592, Serial#: 4124
    public void fldenv(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD9, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldenv  }<i>destination</i>
     * Example disassembly syntax: {@code fldenv    [rbx]}
     */
    // Template#: 3593, Serial#: 4180
    public void fldenv_r4180(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD9, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldenv  }<i>destination</i>
     * Example disassembly syntax: {@code fldenv    [rbx]}
     */
    // Template#: 3594, Serial#: 4236
    public void fldenv_r4236(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD9, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldenv  }<i>rel32</i>
     * Example disassembly syntax: {@code fldenv    [L1: +305419896]}
     */
    // Template#: 3595, Serial#: 4127
    public void rip_fldenv(int rel32) {
        assemble0341((byte) 0xD9, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldenv  }<i>rel32</i>
     * Example disassembly syntax: {@code fldenv    [L1: +305419896]}
     */
    // Template#: 3596, Serial#: 4183
    public void rip_fldenv_r4183(int rel32) {
        assemble0582((byte) 0xD9, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldenv  }<i>rel32</i>
     * Example disassembly syntax: {@code fldenv    [L1: +305419896]}
     */
    // Template#: 3597, Serial#: 4239
    public void rip_fldenv_r4239(int rel32) {
        assemble0342((byte) 0xD9, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldenv  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldenv    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3598, Serial#: 4161
    public void fldenv(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD9, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldenv  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldenv    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3599, Serial#: 4217
    public void fldenv_r4217(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD9, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldenv  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldenv    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3600, Serial#: 4273
    public void fldenv_r4273(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD9, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldenv  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldenv    0x12345678[rsi * 4]}
     */
    // Template#: 3601, Serial#: 4126
    public void m_fldenv(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD9, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldenv  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldenv    0x12345678[rsi * 4]}
     */
    // Template#: 3602, Serial#: 4182
    public void m_fldenv_r4182(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD9, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldenv  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fldenv    0x12345678[rsi * 4]}
     */
    // Template#: 3603, Serial#: 4238
    public void m_fldenv_r4238(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD9, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldenv  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fldenv    [rbx + 305419896]}
     */
    // Template#: 3604, Serial#: 4160
    public void fldenv(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD9, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldenv  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fldenv    [rbx + 305419896]}
     */
    // Template#: 3605, Serial#: 4216
    public void fldenv_r4216(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD9, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldenv  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fldenv    [rbx + 305419896]}
     */
    // Template#: 3606, Serial#: 4272
    public void fldenv_r4272(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD9, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl2e  }
     * Example disassembly syntax: {@code fldl2e  }
     */
    // Template#: 3607, Serial#: 12815
    public void fldl2e() {
        assemble0588((byte) 0xEA);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl2e  }
     * Example disassembly syntax: {@code fldl2e  }
     */
    // Template#: 3608, Serial#: 12816
    public void fldl2e_r12816() {
        assemble0589((byte) 0xEA);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl2e  }
     * Example disassembly syntax: {@code fldl2e  }
     */
    // Template#: 3609, Serial#: 12817
    public void fldl2e_r12817() {
        assemble0590((byte) 0xEA);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl2t  }
     * Example disassembly syntax: {@code fldl2t  }
     */
    // Template#: 3610, Serial#: 12812
    public void fldl2t() {
        assemble0588((byte) 0xE9);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl2t  }
     * Example disassembly syntax: {@code fldl2t  }
     */
    // Template#: 3611, Serial#: 12813
    public void fldl2t_r12813() {
        assemble0589((byte) 0xE9);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldl2t  }
     * Example disassembly syntax: {@code fldl2t  }
     */
    // Template#: 3612, Serial#: 12814
    public void fldl2t_r12814() {
        assemble0590((byte) 0xE9);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldlg2  }
     * Example disassembly syntax: {@code fldlg2  }
     */
    // Template#: 3613, Serial#: 12821
    public void fldlg2() {
        assemble0588((byte) 0xEC);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldlg2  }
     * Example disassembly syntax: {@code fldlg2  }
     */
    // Template#: 3614, Serial#: 12822
    public void fldlg2_r12822() {
        assemble0589((byte) 0xEC);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldlg2  }
     * Example disassembly syntax: {@code fldlg2  }
     */
    // Template#: 3615, Serial#: 12823
    public void fldlg2_r12823() {
        assemble0590((byte) 0xEC);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldln2  }
     * Example disassembly syntax: {@code fldln2  }
     */
    // Template#: 3616, Serial#: 12824
    public void fldln2() {
        assemble0588((byte) 0xED);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldln2  }
     * Example disassembly syntax: {@code fldln2  }
     */
    // Template#: 3617, Serial#: 12825
    public void fldln2_r12825() {
        assemble0589((byte) 0xED);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldln2  }
     * Example disassembly syntax: {@code fldln2  }
     */
    // Template#: 3618, Serial#: 12826
    public void fldln2_r12826() {
        assemble0590((byte) 0xED);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldpi  }
     * Example disassembly syntax: {@code fldpi   }
     */
    // Template#: 3619, Serial#: 12818
    public void fldpi() {
        assemble0588((byte) 0xEB);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldpi  }
     * Example disassembly syntax: {@code fldpi   }
     */
    // Template#: 3620, Serial#: 12819
    public void fldpi_r12819() {
        assemble0589((byte) 0xEB);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldpi  }
     * Example disassembly syntax: {@code fldpi   }
     */
    // Template#: 3621, Serial#: 12820
    public void fldpi_r12820() {
        assemble0590((byte) 0xEB);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldz  }
     * Example disassembly syntax: {@code fldz    }
     */
    // Template#: 3622, Serial#: 12827
    public void fldz() {
        assemble0588((byte) 0xEE);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldz  }
     * Example disassembly syntax: {@code fldz    }
     */
    // Template#: 3623, Serial#: 12828
    public void fldz_r12828() {
        assemble0589((byte) 0xEE);
    }

    /**
     * Pseudo-external assembler syntax: {@code fldz  }
     * Example disassembly syntax: {@code fldz    }
     */
    // Template#: 3624, Serial#: 12829
    public void fldz_r12829() {
        assemble0590((byte) 0xEE);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmuls  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fmuls     rbx[rsi * 4 + 18]}
     */
    // Template#: 3625, Serial#: 3955
    public void fmuls(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD8, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmuls  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fmuls     rbx[rsi * 4 + 18]}
     */
    // Template#: 3626, Serial#: 4019
    public void fmuls_r4019(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD8, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmuls  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fmuls     rbx[rsi * 4 + 18]}
     */
    // Template#: 3627, Serial#: 4083
    public void fmuls_r4083(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD8, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmull  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fmull     rbx[rsi * 4 + 18]}
     */
    // Template#: 3628, Serial#: 4627
    public void fmull(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDC, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmull  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fmull     rbx[rsi * 4 + 18]}
     */
    // Template#: 3629, Serial#: 4691
    public void fmull_r4691(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDC, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmull  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fmull     rbx[rsi * 4 + 18]}
     */
    // Template#: 3630, Serial#: 4755
    public void fmull_r4755(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDC, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmuls  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fmuls     [rbx + 18]}
     */
    // Template#: 3631, Serial#: 3954
    public void fmuls(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD8, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmuls  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fmuls     [rbx + 18]}
     */
    // Template#: 3632, Serial#: 4018
    public void fmuls_r4018(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD8, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmuls  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fmuls     [rbx + 18]}
     */
    // Template#: 3633, Serial#: 4082
    public void fmuls_r4082(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD8, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmull  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fmull     [rbx + 18]}
     */
    // Template#: 3634, Serial#: 4626
    public void fmull(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDC, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmull  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fmull     [rbx + 18]}
     */
    // Template#: 3635, Serial#: 4690
    public void fmull_r4690(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDC, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmull  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fmull     [rbx + 18]}
     */
    // Template#: 3636, Serial#: 4754
    public void fmull_r4754(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDC, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmuls  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fmuls     rbx[rsi * 4]}
     */
    // Template#: 3637, Serial#: 3925
    public void fmuls(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD8, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmuls  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fmuls     rbx[rsi * 4]}
     */
    // Template#: 3638, Serial#: 3989
    public void fmuls_r3989(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD8, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmuls  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fmuls     rbx[rsi * 4]}
     */
    // Template#: 3639, Serial#: 4053
    public void fmuls_r4053(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD8, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmull  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fmull     rbx[rsi * 4]}
     */
    // Template#: 3640, Serial#: 4597
    public void fmull(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDC, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmull  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fmull     rbx[rsi * 4]}
     */
    // Template#: 3641, Serial#: 4661
    public void fmull_r4661(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDC, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmull  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fmull     rbx[rsi * 4]}
     */
    // Template#: 3642, Serial#: 4725
    public void fmull_r4725(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDC, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmuls  }<i>destination</i>
     * Example disassembly syntax: {@code fmuls     [rbx]}
     */
    // Template#: 3643, Serial#: 3924
    public void fmuls(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD8, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmuls  }<i>destination</i>
     * Example disassembly syntax: {@code fmuls     [rbx]}
     */
    // Template#: 3644, Serial#: 3988
    public void fmuls_r3988(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD8, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmuls  }<i>destination</i>
     * Example disassembly syntax: {@code fmuls     [rbx]}
     */
    // Template#: 3645, Serial#: 4052
    public void fmuls_r4052(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD8, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmull  }<i>destination</i>
     * Example disassembly syntax: {@code fmull     [rbx]}
     */
    // Template#: 3646, Serial#: 4596
    public void fmull(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDC, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmull  }<i>destination</i>
     * Example disassembly syntax: {@code fmull     [rbx]}
     */
    // Template#: 3647, Serial#: 4660
    public void fmull_r4660(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDC, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmull  }<i>destination</i>
     * Example disassembly syntax: {@code fmull     [rbx]}
     */
    // Template#: 3648, Serial#: 4724
    public void fmull_r4724(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDC, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmul  }<i>st_i</i>
     * Example disassembly syntax: {@code fmul      st, st(0)}
     */
    // Template#: 3649, Serial#: 12764
    public void fmul_ST(FPStackRegister st_i) {
        assemble0591((byte) 0xC8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmul  }<i>st_i</i>
     * Example disassembly syntax: {@code fmul      st, st(0)}
     */
    // Template#: 3650, Serial#: 12765
    public void fmul_ST_r12765(FPStackRegister st_i) {
        assemble0592((byte) 0xC8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmul  }<i>st_i</i>
     * Example disassembly syntax: {@code fmul      st, st(0)}
     */
    // Template#: 3651, Serial#: 12766
    public void fmul_ST_r12766(FPStackRegister st_i) {
        assemble0593((byte) 0xC8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmul  }<i>st_i</i>
     * Example disassembly syntax: {@code fmul      st(0), st}
     */
    // Template#: 3652, Serial#: 12920
    public void fmul___ST(FPStackRegister st_i) {
        assemble0594((byte) 0xC8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmul  }<i>st_i</i>
     * Example disassembly syntax: {@code fmul      st(0), st}
     */
    // Template#: 3653, Serial#: 12921
    public void fmul___ST_r12921(FPStackRegister st_i) {
        assemble0595((byte) 0xC8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmul  }<i>st_i</i>
     * Example disassembly syntax: {@code fmul      st(0), st}
     */
    // Template#: 3654, Serial#: 12922
    public void fmul___ST_r12922(FPStackRegister st_i) {
        assemble0596((byte) 0xC8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmuls  }<i>rel32</i>
     * Example disassembly syntax: {@code fmuls     [L1: +305419896]}
     */
    // Template#: 3655, Serial#: 3927
    public void rip_fmuls(int rel32) {
        assemble0341((byte) 0xD8, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmuls  }<i>rel32</i>
     * Example disassembly syntax: {@code fmuls     [L1: +305419896]}
     */
    // Template#: 3656, Serial#: 3991
    public void rip_fmuls_r3991(int rel32) {
        assemble0582((byte) 0xD8, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmuls  }<i>rel32</i>
     * Example disassembly syntax: {@code fmuls     [L1: +305419896]}
     */
    // Template#: 3657, Serial#: 4055
    public void rip_fmuls_r4055(int rel32) {
        assemble0342((byte) 0xD8, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmull  }<i>rel32</i>
     * Example disassembly syntax: {@code fmull     [L1: +305419896]}
     */
    // Template#: 3658, Serial#: 4599
    public void rip_fmull(int rel32) {
        assemble0341((byte) 0xDC, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmull  }<i>rel32</i>
     * Example disassembly syntax: {@code fmull     [L1: +305419896]}
     */
    // Template#: 3659, Serial#: 4663
    public void rip_fmull_r4663(int rel32) {
        assemble0582((byte) 0xDC, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmull  }<i>rel32</i>
     * Example disassembly syntax: {@code fmull     [L1: +305419896]}
     */
    // Template#: 3660, Serial#: 4727
    public void rip_fmull_r4727(int rel32) {
        assemble0342((byte) 0xDC, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmuls  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fmuls     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3661, Serial#: 3971
    public void fmuls(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD8, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmuls  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fmuls     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3662, Serial#: 4035
    public void fmuls_r4035(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD8, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmuls  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fmuls     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3663, Serial#: 4099
    public void fmuls_r4099(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD8, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmull  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fmull     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3664, Serial#: 4643
    public void fmull(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDC, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmull  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fmull     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3665, Serial#: 4707
    public void fmull_r4707(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDC, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmull  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fmull     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3666, Serial#: 4771
    public void fmull_r4771(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDC, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmuls  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fmuls     0x12345678[rsi * 4]}
     */
    // Template#: 3667, Serial#: 3926
    public void m_fmuls(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD8, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmuls  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fmuls     0x12345678[rsi * 4]}
     */
    // Template#: 3668, Serial#: 3990
    public void m_fmuls_r3990(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD8, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmuls  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fmuls     0x12345678[rsi * 4]}
     */
    // Template#: 3669, Serial#: 4054
    public void m_fmuls_r4054(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD8, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmull  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fmull     0x12345678[rsi * 4]}
     */
    // Template#: 3670, Serial#: 4598
    public void m_fmull(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDC, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmull  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fmull     0x12345678[rsi * 4]}
     */
    // Template#: 3671, Serial#: 4662
    public void m_fmull_r4662(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDC, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmull  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fmull     0x12345678[rsi * 4]}
     */
    // Template#: 3672, Serial#: 4726
    public void m_fmull_r4726(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDC, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmuls  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fmuls     [rbx + 305419896]}
     */
    // Template#: 3673, Serial#: 3970
    public void fmuls(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD8, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmuls  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fmuls     [rbx + 305419896]}
     */
    // Template#: 3674, Serial#: 4034
    public void fmuls_r4034(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD8, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmuls  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fmuls     [rbx + 305419896]}
     */
    // Template#: 3675, Serial#: 4098
    public void fmuls_r4098(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD8, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmull  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fmull     [rbx + 305419896]}
     */
    // Template#: 3676, Serial#: 4642
    public void fmull(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDC, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmull  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fmull     [rbx + 305419896]}
     */
    // Template#: 3677, Serial#: 4706
    public void fmull_r4706(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDC, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmull  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fmull     [rbx + 305419896]}
     */
    // Template#: 3678, Serial#: 4770
    public void fmull_r4770(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDC, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmulp  }<i>st_i</i>
     * Example disassembly syntax: {@code fmulp     st(0), st}
     */
    // Template#: 3679, Serial#: 12962
    public void fmulp___ST(FPStackRegister st_i) {
        assemble0597((byte) 0xC8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmulp  }<i>st_i</i>
     * Example disassembly syntax: {@code fmulp     st(0), st}
     */
    // Template#: 3680, Serial#: 12963
    public void fmulp___ST_r12963(FPStackRegister st_i) {
        assemble0598((byte) 0xC8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fmulp  }<i>st_i</i>
     * Example disassembly syntax: {@code fmulp     st(0), st}
     */
    // Template#: 3681, Serial#: 12964
    public void fmulp___ST_r12964(FPStackRegister st_i) {
        assemble0599((byte) 0xC8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fnop  }
     * Example disassembly syntax: {@code fnop    }
     */
    // Template#: 3682, Serial#: 12791
    public void fnop() {
        assemble0588((byte) 0xD0);
    }

    /**
     * Pseudo-external assembler syntax: {@code fnop  }
     * Example disassembly syntax: {@code fnop    }
     */
    // Template#: 3683, Serial#: 12792
    public void fnop_r12792() {
        assemble0589((byte) 0xD0);
    }

    /**
     * Pseudo-external assembler syntax: {@code fnop  }
     * Example disassembly syntax: {@code fnop    }
     */
    // Template#: 3684, Serial#: 12793
    public void fnop_r12793() {
        assemble0590((byte) 0xD0);
    }

    /**
     * Pseudo-external assembler syntax: {@code fpatan  }
     * Example disassembly syntax: {@code fpatan  }
     */
    // Template#: 3685, Serial#: 12839
    public void fpatan() {
        assemble0588((byte) 0xF3);
    }

    /**
     * Pseudo-external assembler syntax: {@code fpatan  }
     * Example disassembly syntax: {@code fpatan  }
     */
    // Template#: 3686, Serial#: 12840
    public void fpatan_r12840() {
        assemble0589((byte) 0xF3);
    }

    /**
     * Pseudo-external assembler syntax: {@code fpatan  }
     * Example disassembly syntax: {@code fpatan  }
     */
    // Template#: 3687, Serial#: 12841
    public void fpatan_r12841() {
        assemble0590((byte) 0xF3);
    }

    /**
     * Pseudo-external assembler syntax: {@code fprem  }
     * Example disassembly syntax: {@code fprem   }
     */
    // Template#: 3688, Serial#: 12854
    public void fprem() {
        assemble0588((byte) 0xF8);
    }

    /**
     * Pseudo-external assembler syntax: {@code fprem  }
     * Example disassembly syntax: {@code fprem   }
     */
    // Template#: 3689, Serial#: 12855
    public void fprem_r12855() {
        assemble0589((byte) 0xF8);
    }

    /**
     * Pseudo-external assembler syntax: {@code fprem  }
     * Example disassembly syntax: {@code fprem   }
     */
    // Template#: 3690, Serial#: 12856
    public void fprem_r12856() {
        assemble0590((byte) 0xF8);
    }

    /**
     * Pseudo-external assembler syntax: {@code fprem1  }
     * Example disassembly syntax: {@code fprem1  }
     */
    // Template#: 3691, Serial#: 12845
    public void fprem1() {
        assemble0588((byte) 0xF5);
    }

    /**
     * Pseudo-external assembler syntax: {@code fprem1  }
     * Example disassembly syntax: {@code fprem1  }
     */
    // Template#: 3692, Serial#: 12846
    public void fprem1_r12846() {
        assemble0589((byte) 0xF5);
    }

    /**
     * Pseudo-external assembler syntax: {@code fprem1  }
     * Example disassembly syntax: {@code fprem1  }
     */
    // Template#: 3693, Serial#: 12847
    public void fprem1_r12847() {
        assemble0590((byte) 0xF5);
    }

    /**
     * Pseudo-external assembler syntax: {@code fptan  }
     * Example disassembly syntax: {@code fptan   }
     */
    // Template#: 3694, Serial#: 12836
    public void fptan() {
        assemble0588((byte) 0xF2);
    }

    /**
     * Pseudo-external assembler syntax: {@code fptan  }
     * Example disassembly syntax: {@code fptan   }
     */
    // Template#: 3695, Serial#: 12837
    public void fptan_r12837() {
        assemble0589((byte) 0xF2);
    }

    /**
     * Pseudo-external assembler syntax: {@code fptan  }
     * Example disassembly syntax: {@code fptan   }
     */
    // Template#: 3696, Serial#: 12838
    public void fptan_r12838() {
        assemble0590((byte) 0xF2);
    }

    /**
     * Pseudo-external assembler syntax: {@code frndint  }
     * Example disassembly syntax: {@code frndint }
     */
    // Template#: 3697, Serial#: 12866
    public void frndint() {
        assemble0588((byte) 0xFC);
    }

    /**
     * Pseudo-external assembler syntax: {@code frndint  }
     * Example disassembly syntax: {@code frndint }
     */
    // Template#: 3698, Serial#: 12867
    public void frndint_r12867() {
        assemble0589((byte) 0xFC);
    }

    /**
     * Pseudo-external assembler syntax: {@code frndint  }
     * Example disassembly syntax: {@code frndint }
     */
    // Template#: 3699, Serial#: 12868
    public void frndint_r12868() {
        assemble0590((byte) 0xFC);
    }

    /**
     * Pseudo-external assembler syntax: {@code frstor  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code frstor    rbx[rsi * 4 + 18]}
     */
    // Template#: 3700, Serial#: 4815
    public void frstor(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDD, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code frstor  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code frstor    rbx[rsi * 4 + 18]}
     */
    // Template#: 3701, Serial#: 4863
    public void frstor_r4863(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDD, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code frstor  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code frstor    rbx[rsi * 4 + 18]}
     */
    // Template#: 3702, Serial#: 4911
    public void frstor_r4911(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDD, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code frstor  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code frstor    [rbx + 18]}
     */
    // Template#: 3703, Serial#: 4814
    public void frstor(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDD, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code frstor  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code frstor    [rbx + 18]}
     */
    // Template#: 3704, Serial#: 4862
    public void frstor_r4862(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDD, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code frstor  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code frstor    [rbx + 18]}
     */
    // Template#: 3705, Serial#: 4910
    public void frstor_r4910(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDD, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code frstor  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code frstor    rbx[rsi * 4]}
     */
    // Template#: 3706, Serial#: 4797
    public void frstor(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDD, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code frstor  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code frstor    rbx[rsi * 4]}
     */
    // Template#: 3707, Serial#: 4845
    public void frstor_r4845(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDD, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code frstor  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code frstor    rbx[rsi * 4]}
     */
    // Template#: 3708, Serial#: 4893
    public void frstor_r4893(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDD, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code frstor  }<i>destination</i>
     * Example disassembly syntax: {@code frstor    [rbx]}
     */
    // Template#: 3709, Serial#: 4796
    public void frstor(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDD, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code frstor  }<i>destination</i>
     * Example disassembly syntax: {@code frstor    [rbx]}
     */
    // Template#: 3710, Serial#: 4844
    public void frstor_r4844(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDD, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code frstor  }<i>destination</i>
     * Example disassembly syntax: {@code frstor    [rbx]}
     */
    // Template#: 3711, Serial#: 4892
    public void frstor_r4892(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDD, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code frstor  }<i>rel32</i>
     * Example disassembly syntax: {@code frstor    [L1: +305419896]}
     */
    // Template#: 3712, Serial#: 4799
    public void rip_frstor(int rel32) {
        assemble0341((byte) 0xDD, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code frstor  }<i>rel32</i>
     * Example disassembly syntax: {@code frstor    [L1: +305419896]}
     */
    // Template#: 3713, Serial#: 4847
    public void rip_frstor_r4847(int rel32) {
        assemble0582((byte) 0xDD, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code frstor  }<i>rel32</i>
     * Example disassembly syntax: {@code frstor    [L1: +305419896]}
     */
    // Template#: 3714, Serial#: 4895
    public void rip_frstor_r4895(int rel32) {
        assemble0342((byte) 0xDD, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code frstor  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code frstor    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3715, Serial#: 4827
    public void frstor(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDD, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code frstor  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code frstor    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3716, Serial#: 4875
    public void frstor_r4875(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDD, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code frstor  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code frstor    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3717, Serial#: 4923
    public void frstor_r4923(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDD, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code frstor  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code frstor    0x12345678[rsi * 4]}
     */
    // Template#: 3718, Serial#: 4798
    public void m_frstor(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDD, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code frstor  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code frstor    0x12345678[rsi * 4]}
     */
    // Template#: 3719, Serial#: 4846
    public void m_frstor_r4846(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDD, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code frstor  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code frstor    0x12345678[rsi * 4]}
     */
    // Template#: 3720, Serial#: 4894
    public void m_frstor_r4894(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDD, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code frstor  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code frstor    [rbx + 305419896]}
     */
    // Template#: 3721, Serial#: 4826
    public void frstor(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDD, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code frstor  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code frstor    [rbx + 305419896]}
     */
    // Template#: 3722, Serial#: 4874
    public void frstor_r4874(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDD, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code frstor  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code frstor    [rbx + 305419896]}
     */
    // Template#: 3723, Serial#: 4922
    public void frstor_r4922(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDD, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsave  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsave     rbx[rsi * 4 + 18]}
     */
    // Template#: 3724, Serial#: 4817
    public void fsave(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDD, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsave  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsave     rbx[rsi * 4 + 18]}
     */
    // Template#: 3725, Serial#: 4865
    public void fsave_r4865(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDD, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsave  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsave     rbx[rsi * 4 + 18]}
     */
    // Template#: 3726, Serial#: 4913
    public void fsave_r4913(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDD, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsave  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsave     [rbx + 18]}
     */
    // Template#: 3727, Serial#: 4816
    public void fsave(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDD, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsave  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsave     [rbx + 18]}
     */
    // Template#: 3728, Serial#: 4864
    public void fsave_r4864(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDD, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsave  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsave     [rbx + 18]}
     */
    // Template#: 3729, Serial#: 4912
    public void fsave_r4912(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDD, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsave  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsave     rbx[rsi * 4]}
     */
    // Template#: 3730, Serial#: 4801
    public void fsave(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDD, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsave  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsave     rbx[rsi * 4]}
     */
    // Template#: 3731, Serial#: 4849
    public void fsave_r4849(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDD, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsave  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsave     rbx[rsi * 4]}
     */
    // Template#: 3732, Serial#: 4897
    public void fsave_r4897(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDD, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsave  }<i>destination</i>
     * Example disassembly syntax: {@code fsave     [rbx]}
     */
    // Template#: 3733, Serial#: 4800
    public void fsave(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDD, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsave  }<i>destination</i>
     * Example disassembly syntax: {@code fsave     [rbx]}
     */
    // Template#: 3734, Serial#: 4848
    public void fsave_r4848(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDD, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsave  }<i>destination</i>
     * Example disassembly syntax: {@code fsave     [rbx]}
     */
    // Template#: 3735, Serial#: 4896
    public void fsave_r4896(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDD, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsave  }<i>rel32</i>
     * Example disassembly syntax: {@code fsave     [L1: +305419896]}
     */
    // Template#: 3736, Serial#: 4803
    public void rip_fsave(int rel32) {
        assemble0341((byte) 0xDD, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsave  }<i>rel32</i>
     * Example disassembly syntax: {@code fsave     [L1: +305419896]}
     */
    // Template#: 3737, Serial#: 4851
    public void rip_fsave_r4851(int rel32) {
        assemble0582((byte) 0xDD, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsave  }<i>rel32</i>
     * Example disassembly syntax: {@code fsave     [L1: +305419896]}
     */
    // Template#: 3738, Serial#: 4899
    public void rip_fsave_r4899(int rel32) {
        assemble0342((byte) 0xDD, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsave  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsave     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3739, Serial#: 4829
    public void fsave(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDD, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsave  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsave     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3740, Serial#: 4877
    public void fsave_r4877(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDD, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsave  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsave     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3741, Serial#: 4925
    public void fsave_r4925(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDD, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsave  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsave     0x12345678[rsi * 4]}
     */
    // Template#: 3742, Serial#: 4802
    public void m_fsave(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDD, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsave  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsave     0x12345678[rsi * 4]}
     */
    // Template#: 3743, Serial#: 4850
    public void m_fsave_r4850(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDD, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsave  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsave     0x12345678[rsi * 4]}
     */
    // Template#: 3744, Serial#: 4898
    public void m_fsave_r4898(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDD, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsave  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsave     [rbx + 305419896]}
     */
    // Template#: 3745, Serial#: 4828
    public void fsave(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDD, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsave  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsave     [rbx + 305419896]}
     */
    // Template#: 3746, Serial#: 4876
    public void fsave_r4876(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDD, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsave  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsave     [rbx + 305419896]}
     */
    // Template#: 3747, Serial#: 4924
    public void fsave_r4924(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDD, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fscale  }
     * Example disassembly syntax: {@code fscale  }
     */
    // Template#: 3748, Serial#: 12869
    public void fscale() {
        assemble0588((byte) 0xFD);
    }

    /**
     * Pseudo-external assembler syntax: {@code fscale  }
     * Example disassembly syntax: {@code fscale  }
     */
    // Template#: 3749, Serial#: 12870
    public void fscale_r12870() {
        assemble0589((byte) 0xFD);
    }

    /**
     * Pseudo-external assembler syntax: {@code fscale  }
     * Example disassembly syntax: {@code fscale  }
     */
    // Template#: 3750, Serial#: 12871
    public void fscale_r12871() {
        assemble0590((byte) 0xFD);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsin  }
     * Example disassembly syntax: {@code fsin    }
     */
    // Template#: 3751, Serial#: 12872
    public void fsin() {
        assemble0588((byte) 0xFE);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsin  }
     * Example disassembly syntax: {@code fsin    }
     */
    // Template#: 3752, Serial#: 12873
    public void fsin_r12873() {
        assemble0589((byte) 0xFE);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsin  }
     * Example disassembly syntax: {@code fsin    }
     */
    // Template#: 3753, Serial#: 12874
    public void fsin_r12874() {
        assemble0590((byte) 0xFE);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsincos  }
     * Example disassembly syntax: {@code fsincos }
     */
    // Template#: 3754, Serial#: 12863
    public void fsincos() {
        assemble0588((byte) 0xFB);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsincos  }
     * Example disassembly syntax: {@code fsincos }
     */
    // Template#: 3755, Serial#: 12864
    public void fsincos_r12864() {
        assemble0589((byte) 0xFB);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsincos  }
     * Example disassembly syntax: {@code fsincos }
     */
    // Template#: 3756, Serial#: 12865
    public void fsincos_r12865() {
        assemble0590((byte) 0xFB);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsqrt  }
     * Example disassembly syntax: {@code fsqrt   }
     */
    // Template#: 3757, Serial#: 12860
    public void fsqrt() {
        assemble0588((byte) 0xFA);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsqrt  }
     * Example disassembly syntax: {@code fsqrt   }
     */
    // Template#: 3758, Serial#: 12861
    public void fsqrt_r12861() {
        assemble0589((byte) 0xFA);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsqrt  }
     * Example disassembly syntax: {@code fsqrt   }
     */
    // Template#: 3759, Serial#: 12862
    public void fsqrt_r12862() {
        assemble0590((byte) 0xFA);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsts  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsts      rbx[rsi * 4 + 18]}
     */
    // Template#: 3760, Serial#: 4143
    public void fsts(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD9, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsts  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsts      rbx[rsi * 4 + 18]}
     */
    // Template#: 3761, Serial#: 4199
    public void fsts_r4199(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD9, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsts  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsts      rbx[rsi * 4 + 18]}
     */
    // Template#: 3762, Serial#: 4255
    public void fsts_r4255(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD9, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstl      rbx[rsi * 4 + 18]}
     */
    // Template#: 3763, Serial#: 4811
    public void fstl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDD, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstl      rbx[rsi * 4 + 18]}
     */
    // Template#: 3764, Serial#: 4859
    public void fstl_r4859(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDD, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstl      rbx[rsi * 4 + 18]}
     */
    // Template#: 3765, Serial#: 4907
    public void fstl_r4907(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDD, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsts  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsts      [rbx + 18]}
     */
    // Template#: 3766, Serial#: 4142
    public void fsts(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD9, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsts  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsts      [rbx + 18]}
     */
    // Template#: 3767, Serial#: 4198
    public void fsts_r4198(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD9, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsts  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsts      [rbx + 18]}
     */
    // Template#: 3768, Serial#: 4254
    public void fsts_r4254(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD9, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstl      [rbx + 18]}
     */
    // Template#: 3769, Serial#: 4810
    public void fstl(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDD, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstl      [rbx + 18]}
     */
    // Template#: 3770, Serial#: 4858
    public void fstl_r4858(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDD, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstl      [rbx + 18]}
     */
    // Template#: 3771, Serial#: 4906
    public void fstl_r4906(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDD, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsts  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsts      rbx[rsi * 4]}
     */
    // Template#: 3772, Serial#: 4117
    public void fsts(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD9, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsts  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsts      rbx[rsi * 4]}
     */
    // Template#: 3773, Serial#: 4173
    public void fsts_r4173(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD9, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsts  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsts      rbx[rsi * 4]}
     */
    // Template#: 3774, Serial#: 4229
    public void fsts_r4229(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD9, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstl      rbx[rsi * 4]}
     */
    // Template#: 3775, Serial#: 4789
    public void fstl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDD, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstl      rbx[rsi * 4]}
     */
    // Template#: 3776, Serial#: 4837
    public void fstl_r4837(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDD, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstl      rbx[rsi * 4]}
     */
    // Template#: 3777, Serial#: 4885
    public void fstl_r4885(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDD, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsts  }<i>destination</i>
     * Example disassembly syntax: {@code fsts      [rbx]}
     */
    // Template#: 3778, Serial#: 4116
    public void fsts(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD9, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsts  }<i>destination</i>
     * Example disassembly syntax: {@code fsts      [rbx]}
     */
    // Template#: 3779, Serial#: 4172
    public void fsts_r4172(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD9, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsts  }<i>destination</i>
     * Example disassembly syntax: {@code fsts      [rbx]}
     */
    // Template#: 3780, Serial#: 4228
    public void fsts_r4228(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD9, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstl  }<i>destination</i>
     * Example disassembly syntax: {@code fstl      [rbx]}
     */
    // Template#: 3781, Serial#: 4788
    public void fstl(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDD, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstl  }<i>destination</i>
     * Example disassembly syntax: {@code fstl      [rbx]}
     */
    // Template#: 3782, Serial#: 4836
    public void fstl_r4836(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDD, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstl  }<i>destination</i>
     * Example disassembly syntax: {@code fstl      [rbx]}
     */
    // Template#: 3783, Serial#: 4884
    public void fstl_r4884(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDD, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fst  }<i>st_i</i>
     * Example disassembly syntax: {@code fst       st(0)}
     */
    // Template#: 3784, Serial#: 12947
    public void fst(FPStackRegister st_i) {
        assemble0615((byte) 0xD0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fst  }<i>st_i</i>
     * Example disassembly syntax: {@code fst       st(0)}
     */
    // Template#: 3785, Serial#: 12948
    public void fst_r12948(FPStackRegister st_i) {
        assemble0616((byte) 0xD0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fst  }<i>st_i</i>
     * Example disassembly syntax: {@code fst       st(0)}
     */
    // Template#: 3786, Serial#: 12949
    public void fst_r12949(FPStackRegister st_i) {
        assemble0617((byte) 0xD0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsts  }<i>rel32</i>
     * Example disassembly syntax: {@code fsts      [L1: +305419896]}
     */
    // Template#: 3787, Serial#: 4119
    public void rip_fsts(int rel32) {
        assemble0341((byte) 0xD9, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsts  }<i>rel32</i>
     * Example disassembly syntax: {@code fsts      [L1: +305419896]}
     */
    // Template#: 3788, Serial#: 4175
    public void rip_fsts_r4175(int rel32) {
        assemble0582((byte) 0xD9, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsts  }<i>rel32</i>
     * Example disassembly syntax: {@code fsts      [L1: +305419896]}
     */
    // Template#: 3789, Serial#: 4231
    public void rip_fsts_r4231(int rel32) {
        assemble0342((byte) 0xD9, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstl  }<i>rel32</i>
     * Example disassembly syntax: {@code fstl      [L1: +305419896]}
     */
    // Template#: 3790, Serial#: 4791
    public void rip_fstl(int rel32) {
        assemble0341((byte) 0xDD, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstl  }<i>rel32</i>
     * Example disassembly syntax: {@code fstl      [L1: +305419896]}
     */
    // Template#: 3791, Serial#: 4839
    public void rip_fstl_r4839(int rel32) {
        assemble0582((byte) 0xDD, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstl  }<i>rel32</i>
     * Example disassembly syntax: {@code fstl      [L1: +305419896]}
     */
    // Template#: 3792, Serial#: 4887
    public void rip_fstl_r4887(int rel32) {
        assemble0342((byte) 0xDD, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsts  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsts      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3793, Serial#: 4157
    public void fsts(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD9, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsts  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsts      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3794, Serial#: 4213
    public void fsts_r4213(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD9, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsts  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsts      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3795, Serial#: 4269
    public void fsts_r4269(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD9, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstl      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3796, Serial#: 4823
    public void fstl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDD, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstl      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3797, Serial#: 4871
    public void fstl_r4871(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDD, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstl      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3798, Serial#: 4919
    public void fstl_r4919(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDD, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsts  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsts      0x12345678[rsi * 4]}
     */
    // Template#: 3799, Serial#: 4118
    public void m_fsts(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD9, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsts  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsts      0x12345678[rsi * 4]}
     */
    // Template#: 3800, Serial#: 4174
    public void m_fsts_r4174(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD9, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsts  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsts      0x12345678[rsi * 4]}
     */
    // Template#: 3801, Serial#: 4230
    public void m_fsts_r4230(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD9, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstl      0x12345678[rsi * 4]}
     */
    // Template#: 3802, Serial#: 4790
    public void m_fstl(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDD, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstl      0x12345678[rsi * 4]}
     */
    // Template#: 3803, Serial#: 4838
    public void m_fstl_r4838(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDD, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstl      0x12345678[rsi * 4]}
     */
    // Template#: 3804, Serial#: 4886
    public void m_fstl_r4886(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDD, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsts  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsts      [rbx + 305419896]}
     */
    // Template#: 3805, Serial#: 4156
    public void fsts(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD9, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsts  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsts      [rbx + 305419896]}
     */
    // Template#: 3806, Serial#: 4212
    public void fsts_r4212(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD9, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsts  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsts      [rbx + 305419896]}
     */
    // Template#: 3807, Serial#: 4268
    public void fsts_r4268(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD9, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstl      [rbx + 305419896]}
     */
    // Template#: 3808, Serial#: 4822
    public void fstl(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDD, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstl      [rbx + 305419896]}
     */
    // Template#: 3809, Serial#: 4870
    public void fstl_r4870(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDD, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstl      [rbx + 305419896]}
     */
    // Template#: 3810, Serial#: 4918
    public void fstl_r4918(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDD, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstcw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstcw     rbx[rsi * 4 + 18]}
     */
    // Template#: 3811, Serial#: 4153
    public void fstcw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD9, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstcw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstcw     rbx[rsi * 4 + 18]}
     */
    // Template#: 3812, Serial#: 4209
    public void fstcw_r4209(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD9, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstcw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstcw     rbx[rsi * 4 + 18]}
     */
    // Template#: 3813, Serial#: 4265
    public void fstcw_r4265(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD9, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstcw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstcw     [rbx + 18]}
     */
    // Template#: 3814, Serial#: 4152
    public void fstcw(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD9, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstcw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstcw     [rbx + 18]}
     */
    // Template#: 3815, Serial#: 4208
    public void fstcw_r4208(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD9, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstcw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstcw     [rbx + 18]}
     */
    // Template#: 3816, Serial#: 4264
    public void fstcw_r4264(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD9, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstcw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstcw     rbx[rsi * 4]}
     */
    // Template#: 3817, Serial#: 4137
    public void fstcw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD9, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstcw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstcw     rbx[rsi * 4]}
     */
    // Template#: 3818, Serial#: 4193
    public void fstcw_r4193(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD9, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstcw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstcw     rbx[rsi * 4]}
     */
    // Template#: 3819, Serial#: 4249
    public void fstcw_r4249(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD9, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstcw  }<i>destination</i>
     * Example disassembly syntax: {@code fstcw     [rbx]}
     */
    // Template#: 3820, Serial#: 4136
    public void fstcw(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD9, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstcw  }<i>destination</i>
     * Example disassembly syntax: {@code fstcw     [rbx]}
     */
    // Template#: 3821, Serial#: 4192
    public void fstcw_r4192(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD9, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstcw  }<i>destination</i>
     * Example disassembly syntax: {@code fstcw     [rbx]}
     */
    // Template#: 3822, Serial#: 4248
    public void fstcw_r4248(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD9, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstcw  }<i>rel32</i>
     * Example disassembly syntax: {@code fstcw     [L1: +305419896]}
     */
    // Template#: 3823, Serial#: 4139
    public void rip_fstcw(int rel32) {
        assemble0341((byte) 0xD9, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstcw  }<i>rel32</i>
     * Example disassembly syntax: {@code fstcw     [L1: +305419896]}
     */
    // Template#: 3824, Serial#: 4195
    public void rip_fstcw_r4195(int rel32) {
        assemble0582((byte) 0xD9, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstcw  }<i>rel32</i>
     * Example disassembly syntax: {@code fstcw     [L1: +305419896]}
     */
    // Template#: 3825, Serial#: 4251
    public void rip_fstcw_r4251(int rel32) {
        assemble0342((byte) 0xD9, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstcw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstcw     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3826, Serial#: 4167
    public void fstcw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD9, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstcw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstcw     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3827, Serial#: 4223
    public void fstcw_r4223(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD9, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstcw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstcw     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3828, Serial#: 4279
    public void fstcw_r4279(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD9, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstcw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstcw     0x12345678[rsi * 4]}
     */
    // Template#: 3829, Serial#: 4138
    public void m_fstcw(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD9, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstcw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstcw     0x12345678[rsi * 4]}
     */
    // Template#: 3830, Serial#: 4194
    public void m_fstcw_r4194(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD9, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstcw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstcw     0x12345678[rsi * 4]}
     */
    // Template#: 3831, Serial#: 4250
    public void m_fstcw_r4250(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD9, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstcw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstcw     [rbx + 305419896]}
     */
    // Template#: 3832, Serial#: 4166
    public void fstcw(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD9, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstcw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstcw     [rbx + 305419896]}
     */
    // Template#: 3833, Serial#: 4222
    public void fstcw_r4222(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD9, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstcw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstcw     [rbx + 305419896]}
     */
    // Template#: 3834, Serial#: 4278
    public void fstcw_r4278(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD9, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstenv  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstenv    rbx[rsi * 4 + 18]}
     */
    // Template#: 3835, Serial#: 4151
    public void fstenv(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD9, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstenv  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstenv    rbx[rsi * 4 + 18]}
     */
    // Template#: 3836, Serial#: 4207
    public void fstenv_r4207(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD9, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstenv  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstenv    rbx[rsi * 4 + 18]}
     */
    // Template#: 3837, Serial#: 4263
    public void fstenv_r4263(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD9, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstenv  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstenv    [rbx + 18]}
     */
    // Template#: 3838, Serial#: 4150
    public void fstenv(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD9, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstenv  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstenv    [rbx + 18]}
     */
    // Template#: 3839, Serial#: 4206
    public void fstenv_r4206(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD9, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstenv  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstenv    [rbx + 18]}
     */
    // Template#: 3840, Serial#: 4262
    public void fstenv_r4262(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD9, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstenv  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstenv    rbx[rsi * 4]}
     */
    // Template#: 3841, Serial#: 4133
    public void fstenv(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD9, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstenv  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstenv    rbx[rsi * 4]}
     */
    // Template#: 3842, Serial#: 4189
    public void fstenv_r4189(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD9, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstenv  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstenv    rbx[rsi * 4]}
     */
    // Template#: 3843, Serial#: 4245
    public void fstenv_r4245(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD9, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstenv  }<i>destination</i>
     * Example disassembly syntax: {@code fstenv    [rbx]}
     */
    // Template#: 3844, Serial#: 4132
    public void fstenv(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD9, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstenv  }<i>destination</i>
     * Example disassembly syntax: {@code fstenv    [rbx]}
     */
    // Template#: 3845, Serial#: 4188
    public void fstenv_r4188(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD9, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstenv  }<i>destination</i>
     * Example disassembly syntax: {@code fstenv    [rbx]}
     */
    // Template#: 3846, Serial#: 4244
    public void fstenv_r4244(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD9, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstenv  }<i>rel32</i>
     * Example disassembly syntax: {@code fstenv    [L1: +305419896]}
     */
    // Template#: 3847, Serial#: 4135
    public void rip_fstenv(int rel32) {
        assemble0341((byte) 0xD9, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstenv  }<i>rel32</i>
     * Example disassembly syntax: {@code fstenv    [L1: +305419896]}
     */
    // Template#: 3848, Serial#: 4191
    public void rip_fstenv_r4191(int rel32) {
        assemble0582((byte) 0xD9, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstenv  }<i>rel32</i>
     * Example disassembly syntax: {@code fstenv    [L1: +305419896]}
     */
    // Template#: 3849, Serial#: 4247
    public void rip_fstenv_r4247(int rel32) {
        assemble0342((byte) 0xD9, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstenv  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstenv    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3850, Serial#: 4165
    public void fstenv(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD9, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstenv  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstenv    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3851, Serial#: 4221
    public void fstenv_r4221(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD9, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstenv  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstenv    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3852, Serial#: 4277
    public void fstenv_r4277(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD9, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstenv  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstenv    0x12345678[rsi * 4]}
     */
    // Template#: 3853, Serial#: 4134
    public void m_fstenv(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD9, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstenv  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstenv    0x12345678[rsi * 4]}
     */
    // Template#: 3854, Serial#: 4190
    public void m_fstenv_r4190(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD9, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstenv  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstenv    0x12345678[rsi * 4]}
     */
    // Template#: 3855, Serial#: 4246
    public void m_fstenv_r4246(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD9, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstenv  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstenv    [rbx + 305419896]}
     */
    // Template#: 3856, Serial#: 4164
    public void fstenv(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD9, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstenv  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstenv    [rbx + 305419896]}
     */
    // Template#: 3857, Serial#: 4220
    public void fstenv_r4220(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD9, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstenv  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstenv    [rbx + 305419896]}
     */
    // Template#: 3858, Serial#: 4276
    public void fstenv_r4276(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD9, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstps  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstps     rbx[rsi * 4 + 18]}
     */
    // Template#: 3859, Serial#: 4145
    public void fstps(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD9, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstps  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstps     rbx[rsi * 4 + 18]}
     */
    // Template#: 3860, Serial#: 4201
    public void fstps_r4201(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD9, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstps  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstps     rbx[rsi * 4 + 18]}
     */
    // Template#: 3861, Serial#: 4257
    public void fstps_r4257(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD9, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstpt     rbx[rsi * 4 + 18]}
     */
    // Template#: 3862, Serial#: 4501
    public void fstpt(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDB, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstpt     rbx[rsi * 4 + 18]}
     */
    // Template#: 3863, Serial#: 4541
    public void fstpt_r4541(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDB, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstpt     rbx[rsi * 4 + 18]}
     */
    // Template#: 3864, Serial#: 4581
    public void fstpt_r4581(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDB, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstpl     rbx[rsi * 4 + 18]}
     */
    // Template#: 3865, Serial#: 4813
    public void fstpl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDD, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstpl     rbx[rsi * 4 + 18]}
     */
    // Template#: 3866, Serial#: 4861
    public void fstpl_r4861(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDD, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstpl     rbx[rsi * 4 + 18]}
     */
    // Template#: 3867, Serial#: 4909
    public void fstpl_r4909(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDD, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstps  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstps     [rbx + 18]}
     */
    // Template#: 3868, Serial#: 4144
    public void fstps(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD9, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstps  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstps     [rbx + 18]}
     */
    // Template#: 3869, Serial#: 4200
    public void fstps_r4200(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD9, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstps  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstps     [rbx + 18]}
     */
    // Template#: 3870, Serial#: 4256
    public void fstps_r4256(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD9, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpt  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstpt     [rbx + 18]}
     */
    // Template#: 3871, Serial#: 4500
    public void fstpt(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDB, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpt  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstpt     [rbx + 18]}
     */
    // Template#: 3872, Serial#: 4540
    public void fstpt_r4540(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDB, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpt  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstpt     [rbx + 18]}
     */
    // Template#: 3873, Serial#: 4580
    public void fstpt_r4580(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDB, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstpl     [rbx + 18]}
     */
    // Template#: 3874, Serial#: 4812
    public void fstpl(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDD, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstpl     [rbx + 18]}
     */
    // Template#: 3875, Serial#: 4860
    public void fstpl_r4860(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDD, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstpl     [rbx + 18]}
     */
    // Template#: 3876, Serial#: 4908
    public void fstpl_r4908(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDD, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstps  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstps     rbx[rsi * 4]}
     */
    // Template#: 3877, Serial#: 4121
    public void fstps(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD9, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstps  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstps     rbx[rsi * 4]}
     */
    // Template#: 3878, Serial#: 4177
    public void fstps_r4177(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD9, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstps  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstps     rbx[rsi * 4]}
     */
    // Template#: 3879, Serial#: 4233
    public void fstps_r4233(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD9, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpt  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstpt     rbx[rsi * 4]}
     */
    // Template#: 3880, Serial#: 4489
    public void fstpt(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDB, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpt  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstpt     rbx[rsi * 4]}
     */
    // Template#: 3881, Serial#: 4529
    public void fstpt_r4529(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDB, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpt  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstpt     rbx[rsi * 4]}
     */
    // Template#: 3882, Serial#: 4569
    public void fstpt_r4569(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDB, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstpl     rbx[rsi * 4]}
     */
    // Template#: 3883, Serial#: 4793
    public void fstpl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDD, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstpl     rbx[rsi * 4]}
     */
    // Template#: 3884, Serial#: 4841
    public void fstpl_r4841(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDD, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstpl     rbx[rsi * 4]}
     */
    // Template#: 3885, Serial#: 4889
    public void fstpl_r4889(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDD, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstps  }<i>destination</i>
     * Example disassembly syntax: {@code fstps     [rbx]}
     */
    // Template#: 3886, Serial#: 4120
    public void fstps(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD9, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstps  }<i>destination</i>
     * Example disassembly syntax: {@code fstps     [rbx]}
     */
    // Template#: 3887, Serial#: 4176
    public void fstps_r4176(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD9, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstps  }<i>destination</i>
     * Example disassembly syntax: {@code fstps     [rbx]}
     */
    // Template#: 3888, Serial#: 4232
    public void fstps_r4232(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD9, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpt  }<i>destination</i>
     * Example disassembly syntax: {@code fstpt     [rbx]}
     */
    // Template#: 3889, Serial#: 4488
    public void fstpt(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDB, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpt  }<i>destination</i>
     * Example disassembly syntax: {@code fstpt     [rbx]}
     */
    // Template#: 3890, Serial#: 4528
    public void fstpt_r4528(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDB, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpt  }<i>destination</i>
     * Example disassembly syntax: {@code fstpt     [rbx]}
     */
    // Template#: 3891, Serial#: 4568
    public void fstpt_r4568(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDB, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpl  }<i>destination</i>
     * Example disassembly syntax: {@code fstpl     [rbx]}
     */
    // Template#: 3892, Serial#: 4792
    public void fstpl(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDD, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpl  }<i>destination</i>
     * Example disassembly syntax: {@code fstpl     [rbx]}
     */
    // Template#: 3893, Serial#: 4840
    public void fstpl_r4840(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDD, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpl  }<i>destination</i>
     * Example disassembly syntax: {@code fstpl     [rbx]}
     */
    // Template#: 3894, Serial#: 4888
    public void fstpl_r4888(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDD, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstp  }<i>st_i</i>
     * Example disassembly syntax: {@code fstp      st(0)}
     */
    // Template#: 3895, Serial#: 12950
    public void fstp(FPStackRegister st_i) {
        assemble0615((byte) 0xD8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstp  }<i>st_i</i>
     * Example disassembly syntax: {@code fstp      st(0)}
     */
    // Template#: 3896, Serial#: 12951
    public void fstp_r12951(FPStackRegister st_i) {
        assemble0616((byte) 0xD8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstp  }<i>st_i</i>
     * Example disassembly syntax: {@code fstp      st(0)}
     */
    // Template#: 3897, Serial#: 12952
    public void fstp_r12952(FPStackRegister st_i) {
        assemble0617((byte) 0xD8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstps  }<i>rel32</i>
     * Example disassembly syntax: {@code fstps     [L1: +305419896]}
     */
    // Template#: 3898, Serial#: 4123
    public void rip_fstps(int rel32) {
        assemble0341((byte) 0xD9, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstps  }<i>rel32</i>
     * Example disassembly syntax: {@code fstps     [L1: +305419896]}
     */
    // Template#: 3899, Serial#: 4179
    public void rip_fstps_r4179(int rel32) {
        assemble0582((byte) 0xD9, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstps  }<i>rel32</i>
     * Example disassembly syntax: {@code fstps     [L1: +305419896]}
     */
    // Template#: 3900, Serial#: 4235
    public void rip_fstps_r4235(int rel32) {
        assemble0342((byte) 0xD9, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpt  }<i>rel32</i>
     * Example disassembly syntax: {@code fstpt     [L1: +305419896]}
     */
    // Template#: 3901, Serial#: 4491
    public void rip_fstpt(int rel32) {
        assemble0341((byte) 0xDB, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpt  }<i>rel32</i>
     * Example disassembly syntax: {@code fstpt     [L1: +305419896]}
     */
    // Template#: 3902, Serial#: 4531
    public void rip_fstpt_r4531(int rel32) {
        assemble0582((byte) 0xDB, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpt  }<i>rel32</i>
     * Example disassembly syntax: {@code fstpt     [L1: +305419896]}
     */
    // Template#: 3903, Serial#: 4571
    public void rip_fstpt_r4571(int rel32) {
        assemble0342((byte) 0xDB, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpl  }<i>rel32</i>
     * Example disassembly syntax: {@code fstpl     [L1: +305419896]}
     */
    // Template#: 3904, Serial#: 4795
    public void rip_fstpl(int rel32) {
        assemble0341((byte) 0xDD, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpl  }<i>rel32</i>
     * Example disassembly syntax: {@code fstpl     [L1: +305419896]}
     */
    // Template#: 3905, Serial#: 4843
    public void rip_fstpl_r4843(int rel32) {
        assemble0582((byte) 0xDD, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpl  }<i>rel32</i>
     * Example disassembly syntax: {@code fstpl     [L1: +305419896]}
     */
    // Template#: 3906, Serial#: 4891
    public void rip_fstpl_r4891(int rel32) {
        assemble0342((byte) 0xDD, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstps  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstps     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3907, Serial#: 4159
    public void fstps(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD9, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstps  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstps     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3908, Serial#: 4215
    public void fstps_r4215(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD9, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstps  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstps     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3909, Serial#: 4271
    public void fstps_r4271(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD9, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstpt     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3910, Serial#: 4511
    public void fstpt(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDB, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstpt     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3911, Serial#: 4551
    public void fstpt_r4551(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDB, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstpt     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3912, Serial#: 4591
    public void fstpt_r4591(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDB, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstpl     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3913, Serial#: 4825
    public void fstpl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDD, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstpl     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3914, Serial#: 4873
    public void fstpl_r4873(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDD, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstpl     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3915, Serial#: 4921
    public void fstpl_r4921(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDD, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstps  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstps     0x12345678[rsi * 4]}
     */
    // Template#: 3916, Serial#: 4122
    public void m_fstps(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD9, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstps  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstps     0x12345678[rsi * 4]}
     */
    // Template#: 3917, Serial#: 4178
    public void m_fstps_r4178(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD9, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstps  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstps     0x12345678[rsi * 4]}
     */
    // Template#: 3918, Serial#: 4234
    public void m_fstps_r4234(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD9, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpt  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstpt     0x12345678[rsi * 4]}
     */
    // Template#: 3919, Serial#: 4490
    public void m_fstpt(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDB, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpt  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstpt     0x12345678[rsi * 4]}
     */
    // Template#: 3920, Serial#: 4530
    public void m_fstpt_r4530(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDB, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpt  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstpt     0x12345678[rsi * 4]}
     */
    // Template#: 3921, Serial#: 4570
    public void m_fstpt_r4570(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDB, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstpl     0x12345678[rsi * 4]}
     */
    // Template#: 3922, Serial#: 4794
    public void m_fstpl(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDD, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstpl     0x12345678[rsi * 4]}
     */
    // Template#: 3923, Serial#: 4842
    public void m_fstpl_r4842(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDD, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstpl     0x12345678[rsi * 4]}
     */
    // Template#: 3924, Serial#: 4890
    public void m_fstpl_r4890(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDD, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstps  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstps     [rbx + 305419896]}
     */
    // Template#: 3925, Serial#: 4158
    public void fstps(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD9, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstps  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstps     [rbx + 305419896]}
     */
    // Template#: 3926, Serial#: 4214
    public void fstps_r4214(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD9, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstps  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstps     [rbx + 305419896]}
     */
    // Template#: 3927, Serial#: 4270
    public void fstps_r4270(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD9, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpt  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstpt     [rbx + 305419896]}
     */
    // Template#: 3928, Serial#: 4510
    public void fstpt(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDB, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpt  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstpt     [rbx + 305419896]}
     */
    // Template#: 3929, Serial#: 4550
    public void fstpt_r4550(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDB, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpt  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstpt     [rbx + 305419896]}
     */
    // Template#: 3930, Serial#: 4590
    public void fstpt_r4590(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDB, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstpl     [rbx + 305419896]}
     */
    // Template#: 3931, Serial#: 4824
    public void fstpl(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDD, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstpl     [rbx + 305419896]}
     */
    // Template#: 3932, Serial#: 4872
    public void fstpl_r4872(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDD, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstpl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstpl     [rbx + 305419896]}
     */
    // Template#: 3933, Serial#: 4920
    public void fstpl_r4920(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDD, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstp1  }<i>st_i</i>
     * Example disassembly syntax: {@code fstp1     st(0)}
     */
    // Template#: 3934, Serial#: 12794
    public void fstp1(FPStackRegister st_i) {
        assemble0618((byte) 0xD8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstp1  }<i>st_i</i>
     * Example disassembly syntax: {@code fstp1     st(0)}
     */
    // Template#: 3935, Serial#: 12795
    public void fstp1_r12795(FPStackRegister st_i) {
        assemble0619((byte) 0xD8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstp1  }<i>st_i</i>
     * Example disassembly syntax: {@code fstp1     st(0)}
     */
    // Template#: 3936, Serial#: 12796
    public void fstp1_r12796(FPStackRegister st_i) {
        assemble0620((byte) 0xD8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstp8  }<i>st_i</i>
     * Example disassembly syntax: {@code fstp8     st(0)}
     */
    // Template#: 3937, Serial#: 12989
    public void fstp8(FPStackRegister st_i) {
        assemble0609((byte) 0xD0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstp8  }<i>st_i</i>
     * Example disassembly syntax: {@code fstp8     st(0)}
     */
    // Template#: 3938, Serial#: 12990
    public void fstp8_r12990(FPStackRegister st_i) {
        assemble0610((byte) 0xD0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstp8  }<i>st_i</i>
     * Example disassembly syntax: {@code fstp8     st(0)}
     */
    // Template#: 3939, Serial#: 12991
    public void fstp8_r12991(FPStackRegister st_i) {
        assemble0611((byte) 0xD0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstp9  }<i>st_i</i>
     * Example disassembly syntax: {@code fstp9     st(0)}
     */
    // Template#: 3940, Serial#: 12992
    public void fstp9(FPStackRegister st_i) {
        assemble0609((byte) 0xD8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstp9  }<i>st_i</i>
     * Example disassembly syntax: {@code fstp9     st(0)}
     */
    // Template#: 3941, Serial#: 12993
    public void fstp9_r12993(FPStackRegister st_i) {
        assemble0610((byte) 0xD8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstp9  }<i>st_i</i>
     * Example disassembly syntax: {@code fstp9     st(0)}
     */
    // Template#: 3942, Serial#: 12994
    public void fstp9_r12994(FPStackRegister st_i) {
        assemble0611((byte) 0xD8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstsw  }
     * Example disassembly syntax: {@code fstsw     ax}
     */
    // Template#: 3943, Serial#: 12995
    public void fstsw_AX() {
        assemble0621((byte) 0xE0);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstsw  }
     * Example disassembly syntax: {@code fstsw     ax}
     */
    // Template#: 3944, Serial#: 12996
    public void fstsw_AX_r12996() {
        assemble0622((byte) 0xE0);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstsw  }
     * Example disassembly syntax: {@code fstsw     ax}
     */
    // Template#: 3945, Serial#: 12997
    public void fstsw_AX_r12997() {
        assemble0623((byte) 0xE0);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstsw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstsw     rbx[rsi * 4 + 18]}
     */
    // Template#: 3946, Serial#: 4819
    public void fstsw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDD, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstsw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstsw     rbx[rsi * 4 + 18]}
     */
    // Template#: 3947, Serial#: 4867
    public void fstsw_r4867(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDD, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstsw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstsw     rbx[rsi * 4 + 18]}
     */
    // Template#: 3948, Serial#: 4915
    public void fstsw_r4915(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDD, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstsw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstsw     [rbx + 18]}
     */
    // Template#: 3949, Serial#: 4818
    public void fstsw(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDD, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstsw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstsw     [rbx + 18]}
     */
    // Template#: 3950, Serial#: 4866
    public void fstsw_r4866(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDD, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstsw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstsw     [rbx + 18]}
     */
    // Template#: 3951, Serial#: 4914
    public void fstsw_r4914(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDD, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstsw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstsw     rbx[rsi * 4]}
     */
    // Template#: 3952, Serial#: 4805
    public void fstsw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDD, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstsw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstsw     rbx[rsi * 4]}
     */
    // Template#: 3953, Serial#: 4853
    public void fstsw_r4853(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDD, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstsw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstsw     rbx[rsi * 4]}
     */
    // Template#: 3954, Serial#: 4901
    public void fstsw_r4901(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDD, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstsw  }<i>destination</i>
     * Example disassembly syntax: {@code fstsw     [rbx]}
     */
    // Template#: 3955, Serial#: 4804
    public void fstsw(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDD, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstsw  }<i>destination</i>
     * Example disassembly syntax: {@code fstsw     [rbx]}
     */
    // Template#: 3956, Serial#: 4852
    public void fstsw_r4852(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDD, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstsw  }<i>destination</i>
     * Example disassembly syntax: {@code fstsw     [rbx]}
     */
    // Template#: 3957, Serial#: 4900
    public void fstsw_r4900(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDD, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstsw  }<i>rel32</i>
     * Example disassembly syntax: {@code fstsw     [L1: +305419896]}
     */
    // Template#: 3958, Serial#: 4807
    public void rip_fstsw(int rel32) {
        assemble0341((byte) 0xDD, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstsw  }<i>rel32</i>
     * Example disassembly syntax: {@code fstsw     [L1: +305419896]}
     */
    // Template#: 3959, Serial#: 4855
    public void rip_fstsw_r4855(int rel32) {
        assemble0582((byte) 0xDD, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstsw  }<i>rel32</i>
     * Example disassembly syntax: {@code fstsw     [L1: +305419896]}
     */
    // Template#: 3960, Serial#: 4903
    public void rip_fstsw_r4903(int rel32) {
        assemble0342((byte) 0xDD, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstsw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstsw     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3961, Serial#: 4831
    public void fstsw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDD, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstsw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstsw     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3962, Serial#: 4879
    public void fstsw_r4879(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDD, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstsw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstsw     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 3963, Serial#: 4927
    public void fstsw_r4927(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDD, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstsw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstsw     0x12345678[rsi * 4]}
     */
    // Template#: 3964, Serial#: 4806
    public void m_fstsw(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDD, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstsw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstsw     0x12345678[rsi * 4]}
     */
    // Template#: 3965, Serial#: 4854
    public void m_fstsw_r4854(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDD, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstsw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fstsw     0x12345678[rsi * 4]}
     */
    // Template#: 3966, Serial#: 4902
    public void m_fstsw_r4902(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDD, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstsw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstsw     [rbx + 305419896]}
     */
    // Template#: 3967, Serial#: 4830
    public void fstsw(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDD, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstsw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstsw     [rbx + 305419896]}
     */
    // Template#: 3968, Serial#: 4878
    public void fstsw_r4878(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDD, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fstsw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fstsw     [rbx + 305419896]}
     */
    // Template#: 3969, Serial#: 4926
    public void fstsw_r4926(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDD, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubs  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubs     rbx[rsi * 4 + 18]}
     */
    // Template#: 3970, Serial#: 3961
    public void fsubs(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD8, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubs  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubs     rbx[rsi * 4 + 18]}
     */
    // Template#: 3971, Serial#: 4025
    public void fsubs_r4025(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD8, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubs  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubs     rbx[rsi * 4 + 18]}
     */
    // Template#: 3972, Serial#: 4089
    public void fsubs_r4089(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD8, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubl     rbx[rsi * 4 + 18]}
     */
    // Template#: 3973, Serial#: 4633
    public void fsubl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDC, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubl     rbx[rsi * 4 + 18]}
     */
    // Template#: 3974, Serial#: 4697
    public void fsubl_r4697(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDC, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubl     rbx[rsi * 4 + 18]}
     */
    // Template#: 3975, Serial#: 4761
    public void fsubl_r4761(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDC, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubs  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsubs     [rbx + 18]}
     */
    // Template#: 3976, Serial#: 3960
    public void fsubs(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD8, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubs  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsubs     [rbx + 18]}
     */
    // Template#: 3977, Serial#: 4024
    public void fsubs_r4024(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD8, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubs  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsubs     [rbx + 18]}
     */
    // Template#: 3978, Serial#: 4088
    public void fsubs_r4088(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD8, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsubl     [rbx + 18]}
     */
    // Template#: 3979, Serial#: 4632
    public void fsubl(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDC, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsubl     [rbx + 18]}
     */
    // Template#: 3980, Serial#: 4696
    public void fsubl_r4696(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDC, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsubl     [rbx + 18]}
     */
    // Template#: 3981, Serial#: 4760
    public void fsubl_r4760(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDC, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubs  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubs     rbx[rsi * 4]}
     */
    // Template#: 3982, Serial#: 3937
    public void fsubs(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD8, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubs  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubs     rbx[rsi * 4]}
     */
    // Template#: 3983, Serial#: 4001
    public void fsubs_r4001(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD8, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubs  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubs     rbx[rsi * 4]}
     */
    // Template#: 3984, Serial#: 4065
    public void fsubs_r4065(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD8, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubl     rbx[rsi * 4]}
     */
    // Template#: 3985, Serial#: 4609
    public void fsubl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDC, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubl     rbx[rsi * 4]}
     */
    // Template#: 3986, Serial#: 4673
    public void fsubl_r4673(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDC, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubl     rbx[rsi * 4]}
     */
    // Template#: 3987, Serial#: 4737
    public void fsubl_r4737(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDC, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubs  }<i>destination</i>
     * Example disassembly syntax: {@code fsubs     [rbx]}
     */
    // Template#: 3988, Serial#: 3936
    public void fsubs(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD8, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubs  }<i>destination</i>
     * Example disassembly syntax: {@code fsubs     [rbx]}
     */
    // Template#: 3989, Serial#: 4000
    public void fsubs_r4000(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD8, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubs  }<i>destination</i>
     * Example disassembly syntax: {@code fsubs     [rbx]}
     */
    // Template#: 3990, Serial#: 4064
    public void fsubs_r4064(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD8, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubl  }<i>destination</i>
     * Example disassembly syntax: {@code fsubl     [rbx]}
     */
    // Template#: 3991, Serial#: 4608
    public void fsubl(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDC, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubl  }<i>destination</i>
     * Example disassembly syntax: {@code fsubl     [rbx]}
     */
    // Template#: 3992, Serial#: 4672
    public void fsubl_r4672(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDC, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubl  }<i>destination</i>
     * Example disassembly syntax: {@code fsubl     [rbx]}
     */
    // Template#: 3993, Serial#: 4736
    public void fsubl_r4736(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDC, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsub  }<i>st_i</i>
     * Example disassembly syntax: {@code fsub      st, st(0)}
     */
    // Template#: 3994, Serial#: 12773
    public void fsub_ST(FPStackRegister st_i) {
        assemble0591((byte) 0xE0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsub  }<i>st_i</i>
     * Example disassembly syntax: {@code fsub      st, st(0)}
     */
    // Template#: 3995, Serial#: 12774
    public void fsub_ST_r12774(FPStackRegister st_i) {
        assemble0592((byte) 0xE0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsub  }<i>st_i</i>
     * Example disassembly syntax: {@code fsub      st, st(0)}
     */
    // Template#: 3996, Serial#: 12775
    public void fsub_ST_r12775(FPStackRegister st_i) {
        assemble0593((byte) 0xE0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsub  }<i>st_i</i>
     * Example disassembly syntax: {@code fsub      st(0), st}
     */
    // Template#: 3997, Serial#: 12929
    public void fsub___ST(FPStackRegister st_i) {
        assemble0594((byte) 0xE0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsub  }<i>st_i</i>
     * Example disassembly syntax: {@code fsub      st(0), st}
     */
    // Template#: 3998, Serial#: 12930
    public void fsub___ST_r12930(FPStackRegister st_i) {
        assemble0595((byte) 0xE0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsub  }<i>st_i</i>
     * Example disassembly syntax: {@code fsub      st(0), st}
     */
    // Template#: 3999, Serial#: 12931
    public void fsub___ST_r12931(FPStackRegister st_i) {
        assemble0596((byte) 0xE0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubs  }<i>rel32</i>
     * Example disassembly syntax: {@code fsubs     [L1: +305419896]}
     */
    // Template#: 4000, Serial#: 3939
    public void rip_fsubs(int rel32) {
        assemble0341((byte) 0xD8, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubs  }<i>rel32</i>
     * Example disassembly syntax: {@code fsubs     [L1: +305419896]}
     */
    // Template#: 4001, Serial#: 4003
    public void rip_fsubs_r4003(int rel32) {
        assemble0582((byte) 0xD8, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubs  }<i>rel32</i>
     * Example disassembly syntax: {@code fsubs     [L1: +305419896]}
     */
    // Template#: 4002, Serial#: 4067
    public void rip_fsubs_r4067(int rel32) {
        assemble0342((byte) 0xD8, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubl  }<i>rel32</i>
     * Example disassembly syntax: {@code fsubl     [L1: +305419896]}
     */
    // Template#: 4003, Serial#: 4611
    public void rip_fsubl(int rel32) {
        assemble0341((byte) 0xDC, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubl  }<i>rel32</i>
     * Example disassembly syntax: {@code fsubl     [L1: +305419896]}
     */
    // Template#: 4004, Serial#: 4675
    public void rip_fsubl_r4675(int rel32) {
        assemble0582((byte) 0xDC, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubl  }<i>rel32</i>
     * Example disassembly syntax: {@code fsubl     [L1: +305419896]}
     */
    // Template#: 4005, Serial#: 4739
    public void rip_fsubl_r4739(int rel32) {
        assemble0342((byte) 0xDC, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubs  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubs     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4006, Serial#: 3977
    public void fsubs(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD8, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubs  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubs     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4007, Serial#: 4041
    public void fsubs_r4041(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD8, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubs  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubs     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4008, Serial#: 4105
    public void fsubs_r4105(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD8, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubl     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4009, Serial#: 4649
    public void fsubl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDC, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubl     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4010, Serial#: 4713
    public void fsubl_r4713(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDC, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubl     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4011, Serial#: 4777
    public void fsubl_r4777(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDC, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubs  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubs     0x12345678[rsi * 4]}
     */
    // Template#: 4012, Serial#: 3938
    public void m_fsubs(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD8, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubs  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubs     0x12345678[rsi * 4]}
     */
    // Template#: 4013, Serial#: 4002
    public void m_fsubs_r4002(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD8, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubs  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubs     0x12345678[rsi * 4]}
     */
    // Template#: 4014, Serial#: 4066
    public void m_fsubs_r4066(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD8, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubl     0x12345678[rsi * 4]}
     */
    // Template#: 4015, Serial#: 4610
    public void m_fsubl(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDC, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubl     0x12345678[rsi * 4]}
     */
    // Template#: 4016, Serial#: 4674
    public void m_fsubl_r4674(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDC, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubl     0x12345678[rsi * 4]}
     */
    // Template#: 4017, Serial#: 4738
    public void m_fsubl_r4738(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDC, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubs  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsubs     [rbx + 305419896]}
     */
    // Template#: 4018, Serial#: 3976
    public void fsubs(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD8, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubs  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsubs     [rbx + 305419896]}
     */
    // Template#: 4019, Serial#: 4040
    public void fsubs_r4040(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD8, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubs  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsubs     [rbx + 305419896]}
     */
    // Template#: 4020, Serial#: 4104
    public void fsubs_r4104(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD8, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsubl     [rbx + 305419896]}
     */
    // Template#: 4021, Serial#: 4648
    public void fsubl(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDC, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsubl     [rbx + 305419896]}
     */
    // Template#: 4022, Serial#: 4712
    public void fsubl_r4712(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDC, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsubl     [rbx + 305419896]}
     */
    // Template#: 4023, Serial#: 4776
    public void fsubl_r4776(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDC, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrp  }<i>st_i</i>
     * Example disassembly syntax: {@code fsubrp    st(0), st}
     */
    // Template#: 4024, Serial#: 12974
    public void fsubp___ST(FPStackRegister st_i) {
        assemble0597((byte) 0xE8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrp  }<i>st_i</i>
     * Example disassembly syntax: {@code fsubrp    st(0), st}
     */
    // Template#: 4025, Serial#: 12975
    public void fsubp___ST_r12975(FPStackRegister st_i) {
        assemble0598((byte) 0xE8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrp  }<i>st_i</i>
     * Example disassembly syntax: {@code fsubrp    st(0), st}
     */
    // Template#: 4026, Serial#: 12976
    public void fsubp___ST_r12976(FPStackRegister st_i) {
        assemble0599((byte) 0xE8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrs  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubrs    rbx[rsi * 4 + 18]}
     */
    // Template#: 4027, Serial#: 3963
    public void fsubrs(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD8, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrs  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubrs    rbx[rsi * 4 + 18]}
     */
    // Template#: 4028, Serial#: 4027
    public void fsubrs_r4027(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD8, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrs  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubrs    rbx[rsi * 4 + 18]}
     */
    // Template#: 4029, Serial#: 4091
    public void fsubrs_r4091(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD8, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubrl    rbx[rsi * 4 + 18]}
     */
    // Template#: 4030, Serial#: 4635
    public void fsubrl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xDC, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubrl    rbx[rsi * 4 + 18]}
     */
    // Template#: 4031, Serial#: 4699
    public void fsubrl_r4699(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xDC, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubrl    rbx[rsi * 4 + 18]}
     */
    // Template#: 4032, Serial#: 4763
    public void fsubrl_r4763(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xDC, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrs  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsubrs    [rbx + 18]}
     */
    // Template#: 4033, Serial#: 3962
    public void fsubrs(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD8, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrs  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsubrs    [rbx + 18]}
     */
    // Template#: 4034, Serial#: 4026
    public void fsubrs_r4026(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD8, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrs  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsubrs    [rbx + 18]}
     */
    // Template#: 4035, Serial#: 4090
    public void fsubrs_r4090(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD8, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsubrl    [rbx + 18]}
     */
    // Template#: 4036, Serial#: 4634
    public void fsubrl(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xDC, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsubrl    [rbx + 18]}
     */
    // Template#: 4037, Serial#: 4698
    public void fsubrl_r4698(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xDC, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsubrl    [rbx + 18]}
     */
    // Template#: 4038, Serial#: 4762
    public void fsubrl_r4762(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xDC, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrs  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubrs    rbx[rsi * 4]}
     */
    // Template#: 4039, Serial#: 3941
    public void fsubrs(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD8, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrs  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubrs    rbx[rsi * 4]}
     */
    // Template#: 4040, Serial#: 4005
    public void fsubrs_r4005(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD8, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrs  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubrs    rbx[rsi * 4]}
     */
    // Template#: 4041, Serial#: 4069
    public void fsubrs_r4069(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD8, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubrl    rbx[rsi * 4]}
     */
    // Template#: 4042, Serial#: 4613
    public void fsubrl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xDC, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubrl    rbx[rsi * 4]}
     */
    // Template#: 4043, Serial#: 4677
    public void fsubrl_r4677(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xDC, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubrl    rbx[rsi * 4]}
     */
    // Template#: 4044, Serial#: 4741
    public void fsubrl_r4741(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xDC, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrs  }<i>destination</i>
     * Example disassembly syntax: {@code fsubrs    [rbx]}
     */
    // Template#: 4045, Serial#: 3940
    public void fsubrs(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD8, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrs  }<i>destination</i>
     * Example disassembly syntax: {@code fsubrs    [rbx]}
     */
    // Template#: 4046, Serial#: 4004
    public void fsubrs_r4004(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD8, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrs  }<i>destination</i>
     * Example disassembly syntax: {@code fsubrs    [rbx]}
     */
    // Template#: 4047, Serial#: 4068
    public void fsubrs_r4068(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD8, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrl  }<i>destination</i>
     * Example disassembly syntax: {@code fsubrl    [rbx]}
     */
    // Template#: 4048, Serial#: 4612
    public void fsubrl(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xDC, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrl  }<i>destination</i>
     * Example disassembly syntax: {@code fsubrl    [rbx]}
     */
    // Template#: 4049, Serial#: 4676
    public void fsubrl_r4676(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xDC, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrl  }<i>destination</i>
     * Example disassembly syntax: {@code fsubrl    [rbx]}
     */
    // Template#: 4050, Serial#: 4740
    public void fsubrl_r4740(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xDC, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubr  }<i>st_i</i>
     * Example disassembly syntax: {@code fsubr     st, st(0)}
     */
    // Template#: 4051, Serial#: 12776
    public void fsubr_ST(FPStackRegister st_i) {
        assemble0591((byte) 0xE8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubr  }<i>st_i</i>
     * Example disassembly syntax: {@code fsubr     st, st(0)}
     */
    // Template#: 4052, Serial#: 12777
    public void fsubr_ST_r12777(FPStackRegister st_i) {
        assemble0592((byte) 0xE8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubr  }<i>st_i</i>
     * Example disassembly syntax: {@code fsubr     st, st(0)}
     */
    // Template#: 4053, Serial#: 12778
    public void fsubr_ST_r12778(FPStackRegister st_i) {
        assemble0593((byte) 0xE8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubr  }<i>st_i</i>
     * Example disassembly syntax: {@code fsubr     st(0), st}
     */
    // Template#: 4054, Serial#: 12932
    public void fsubr___ST(FPStackRegister st_i) {
        assemble0594((byte) 0xE8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubr  }<i>st_i</i>
     * Example disassembly syntax: {@code fsubr     st(0), st}
     */
    // Template#: 4055, Serial#: 12933
    public void fsubr___ST_r12933(FPStackRegister st_i) {
        assemble0595((byte) 0xE8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubr  }<i>st_i</i>
     * Example disassembly syntax: {@code fsubr     st(0), st}
     */
    // Template#: 4056, Serial#: 12934
    public void fsubr___ST_r12934(FPStackRegister st_i) {
        assemble0596((byte) 0xE8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrs  }<i>rel32</i>
     * Example disassembly syntax: {@code fsubrs    [L1: +305419896]}
     */
    // Template#: 4057, Serial#: 3943
    public void rip_fsubrs(int rel32) {
        assemble0341((byte) 0xD8, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrs  }<i>rel32</i>
     * Example disassembly syntax: {@code fsubrs    [L1: +305419896]}
     */
    // Template#: 4058, Serial#: 4007
    public void rip_fsubrs_r4007(int rel32) {
        assemble0582((byte) 0xD8, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrs  }<i>rel32</i>
     * Example disassembly syntax: {@code fsubrs    [L1: +305419896]}
     */
    // Template#: 4059, Serial#: 4071
    public void rip_fsubrs_r4071(int rel32) {
        assemble0342((byte) 0xD8, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrl  }<i>rel32</i>
     * Example disassembly syntax: {@code fsubrl    [L1: +305419896]}
     */
    // Template#: 4060, Serial#: 4615
    public void rip_fsubrl(int rel32) {
        assemble0341((byte) 0xDC, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrl  }<i>rel32</i>
     * Example disassembly syntax: {@code fsubrl    [L1: +305419896]}
     */
    // Template#: 4061, Serial#: 4679
    public void rip_fsubrl_r4679(int rel32) {
        assemble0582((byte) 0xDC, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrl  }<i>rel32</i>
     * Example disassembly syntax: {@code fsubrl    [L1: +305419896]}
     */
    // Template#: 4062, Serial#: 4743
    public void rip_fsubrl_r4743(int rel32) {
        assemble0342((byte) 0xDC, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrs  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubrs    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4063, Serial#: 3979
    public void fsubrs(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD8, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrs  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubrs    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4064, Serial#: 4043
    public void fsubrs_r4043(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD8, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrs  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubrs    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4065, Serial#: 4107
    public void fsubrs_r4107(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD8, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubrl    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4066, Serial#: 4651
    public void fsubrl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xDC, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubrl    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4067, Serial#: 4715
    public void fsubrl_r4715(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xDC, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubrl    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4068, Serial#: 4779
    public void fsubrl_r4779(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xDC, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrs  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubrs    0x12345678[rsi * 4]}
     */
    // Template#: 4069, Serial#: 3942
    public void m_fsubrs(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD8, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrs  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubrs    0x12345678[rsi * 4]}
     */
    // Template#: 4070, Serial#: 4006
    public void m_fsubrs_r4006(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD8, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrs  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubrs    0x12345678[rsi * 4]}
     */
    // Template#: 4071, Serial#: 4070
    public void m_fsubrs_r4070(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD8, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubrl    0x12345678[rsi * 4]}
     */
    // Template#: 4072, Serial#: 4614
    public void m_fsubrl(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xDC, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubrl    0x12345678[rsi * 4]}
     */
    // Template#: 4073, Serial#: 4678
    public void m_fsubrl_r4678(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xDC, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fsubrl    0x12345678[rsi * 4]}
     */
    // Template#: 4074, Serial#: 4742
    public void m_fsubrl_r4742(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xDC, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrs  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsubrs    [rbx + 305419896]}
     */
    // Template#: 4075, Serial#: 3978
    public void fsubrs(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD8, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrs  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsubrs    [rbx + 305419896]}
     */
    // Template#: 4076, Serial#: 4042
    public void fsubrs_r4042(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD8, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrs  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsubrs    [rbx + 305419896]}
     */
    // Template#: 4077, Serial#: 4106
    public void fsubrs_r4106(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD8, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsubrl    [rbx + 305419896]}
     */
    // Template#: 4078, Serial#: 4650
    public void fsubrl(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xDC, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsubrl    [rbx + 305419896]}
     */
    // Template#: 4079, Serial#: 4714
    public void fsubrl_r4714(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xDC, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubrl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fsubrl    [rbx + 305419896]}
     */
    // Template#: 4080, Serial#: 4778
    public void fsubrl_r4778(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xDC, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubp  }<i>st_i</i>
     * Example disassembly syntax: {@code fsubp     st(0), st}
     */
    // Template#: 4081, Serial#: 12971
    public void fsubrp___ST(FPStackRegister st_i) {
        assemble0597((byte) 0xE0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubp  }<i>st_i</i>
     * Example disassembly syntax: {@code fsubp     st(0), st}
     */
    // Template#: 4082, Serial#: 12972
    public void fsubrp___ST_r12972(FPStackRegister st_i) {
        assemble0598((byte) 0xE0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fsubp  }<i>st_i</i>
     * Example disassembly syntax: {@code fsubp     st(0), st}
     */
    // Template#: 4083, Serial#: 12973
    public void fsubrp___ST_r12973(FPStackRegister st_i) {
        assemble0599((byte) 0xE0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code ftst  }
     * Example disassembly syntax: {@code ftst    }
     */
    // Template#: 4084, Serial#: 12803
    public void ftst() {
        assemble0588((byte) 0xE4);
    }

    /**
     * Pseudo-external assembler syntax: {@code ftst  }
     * Example disassembly syntax: {@code ftst    }
     */
    // Template#: 4085, Serial#: 12804
    public void ftst_r12804() {
        assemble0589((byte) 0xE4);
    }

    /**
     * Pseudo-external assembler syntax: {@code ftst  }
     * Example disassembly syntax: {@code ftst    }
     */
    // Template#: 4086, Serial#: 12805
    public void ftst_r12805() {
        assemble0590((byte) 0xE4);
    }

    /**
     * Pseudo-external assembler syntax: {@code fucom  }<i>st_i</i>
     * Example disassembly syntax: {@code fucom     st(0)}
     */
    // Template#: 4087, Serial#: 12953
    public void fucom(FPStackRegister st_i) {
        assemble0615((byte) 0xE0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fucom  }<i>st_i</i>
     * Example disassembly syntax: {@code fucom     st(0)}
     */
    // Template#: 4088, Serial#: 12954
    public void fucom_r12954(FPStackRegister st_i) {
        assemble0616((byte) 0xE0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fucom  }<i>st_i</i>
     * Example disassembly syntax: {@code fucom     st(0)}
     */
    // Template#: 4089, Serial#: 12955
    public void fucom_r12955(FPStackRegister st_i) {
        assemble0617((byte) 0xE0, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fucomi  }<i>st_i</i>
     * Example disassembly syntax: {@code fucomi    st, st(0)}
     */
    // Template#: 4090, Serial#: 12911
    public void fucomi_ST(FPStackRegister st_i) {
        assemble0606((byte) 0xE8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fucomi  }<i>st_i</i>
     * Example disassembly syntax: {@code fucomi    st, st(0)}
     */
    // Template#: 4091, Serial#: 12912
    public void fucomi_ST_r12912(FPStackRegister st_i) {
        assemble0607((byte) 0xE8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fucomi  }<i>st_i</i>
     * Example disassembly syntax: {@code fucomi    st, st(0)}
     */
    // Template#: 4092, Serial#: 12913
    public void fucomi_ST_r12913(FPStackRegister st_i) {
        assemble0608((byte) 0xE8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fucomip  }<i>st_i</i>
     * Example disassembly syntax: {@code fucomip   st, st(0)}
     */
    // Template#: 4093, Serial#: 12998
    public void fucomip_ST(FPStackRegister st_i) {
        assemble0609((byte) 0xE8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fucomip  }<i>st_i</i>
     * Example disassembly syntax: {@code fucomip   st, st(0)}
     */
    // Template#: 4094, Serial#: 12999
    public void fucomip_ST_r12999(FPStackRegister st_i) {
        assemble0610((byte) 0xE8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fucomip  }<i>st_i</i>
     * Example disassembly syntax: {@code fucomip   st, st(0)}
     */
    // Template#: 4095, Serial#: 13000
    public void fucomip_ST_r13000(FPStackRegister st_i) {
        assemble0611((byte) 0xE8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fucomp  }<i>st_i</i>
     * Example disassembly syntax: {@code fucomp    st(0)}
     */
    // Template#: 4096, Serial#: 12956
    public void fucomp(FPStackRegister st_i) {
        assemble0615((byte) 0xE8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fucomp  }<i>st_i</i>
     * Example disassembly syntax: {@code fucomp    st(0)}
     */
    // Template#: 4097, Serial#: 12957
    public void fucomp_r12957(FPStackRegister st_i) {
        assemble0616((byte) 0xE8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fucomp  }<i>st_i</i>
     * Example disassembly syntax: {@code fucomp    st(0)}
     */
    // Template#: 4098, Serial#: 12958
    public void fucomp_r12958(FPStackRegister st_i) {
        assemble0617((byte) 0xE8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fucompp  }
     * Example disassembly syntax: {@code fucompp }
     */
    // Template#: 4099, Serial#: 12890
    public void fucompp() {
        assemble0624((byte) 0xE9);
    }

    /**
     * Pseudo-external assembler syntax: {@code fucompp  }
     * Example disassembly syntax: {@code fucompp }
     */
    // Template#: 4100, Serial#: 12891
    public void fucompp_r12891() {
        assemble0625((byte) 0xE9);
    }

    /**
     * Pseudo-external assembler syntax: {@code fucompp  }
     * Example disassembly syntax: {@code fucompp }
     */
    // Template#: 4101, Serial#: 12892
    public void fucompp_r12892() {
        assemble0626((byte) 0xE9);
    }

    /**
     * Pseudo-external assembler syntax: {@code fwait  }
     * Example disassembly syntax: {@code fwait   }
     */
    // Template#: 4102, Serial#: 3861
    public void fwait() {
        assemble0208((byte) 0x9B);
    }

    /**
     * Pseudo-external assembler syntax: {@code fwait  }
     * Example disassembly syntax: {@code fwait   }
     */
    // Template#: 4103, Serial#: 3862
    public void fwait_r3862() {
        assemble0209((byte) 0x9B);
    }

    /**
     * Pseudo-external assembler syntax: {@code fwait  }
     * Example disassembly syntax: {@code fwait   }
     */
    // Template#: 4104, Serial#: 3863
    public void fwait_r3863() {
        assemble0210((byte) 0x9B);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxam  }
     * Example disassembly syntax: {@code fxam    }
     */
    // Template#: 4105, Serial#: 12806
    public void fxam() {
        assemble0588((byte) 0xE5);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxam  }
     * Example disassembly syntax: {@code fxam    }
     */
    // Template#: 4106, Serial#: 12807
    public void fxam_r12807() {
        assemble0589((byte) 0xE5);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxam  }
     * Example disassembly syntax: {@code fxam    }
     */
    // Template#: 4107, Serial#: 12808
    public void fxam_r12808() {
        assemble0590((byte) 0xE5);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxch  }<i>st_i</i>
     * Example disassembly syntax: {@code fxch      st(0)}
     */
    // Template#: 4108, Serial#: 12788
    public void fxch(FPStackRegister st_i) {
        assemble0618((byte) 0xC8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxch  }<i>st_i</i>
     * Example disassembly syntax: {@code fxch      st(0)}
     */
    // Template#: 4109, Serial#: 12789
    public void fxch_r12789(FPStackRegister st_i) {
        assemble0619((byte) 0xC8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxch  }<i>st_i</i>
     * Example disassembly syntax: {@code fxch      st(0)}
     */
    // Template#: 4110, Serial#: 12790
    public void fxch_r12790(FPStackRegister st_i) {
        assemble0620((byte) 0xC8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxch4  }<i>st_i</i>
     * Example disassembly syntax: {@code fxch4     st(0)}
     */
    // Template#: 4111, Serial#: 12944
    public void fxch4(FPStackRegister st_i) {
        assemble0615((byte) 0xC8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxch4  }<i>st_i</i>
     * Example disassembly syntax: {@code fxch4     st(0)}
     */
    // Template#: 4112, Serial#: 12945
    public void fxch4_r12945(FPStackRegister st_i) {
        assemble0616((byte) 0xC8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxch4  }<i>st_i</i>
     * Example disassembly syntax: {@code fxch4     st(0)}
     */
    // Template#: 4113, Serial#: 12946
    public void fxch4_r12946(FPStackRegister st_i) {
        assemble0617((byte) 0xC8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxch7  }<i>st_i</i>
     * Example disassembly syntax: {@code fxch7     st(0)}
     */
    // Template#: 4114, Serial#: 12986
    public void fxch7(FPStackRegister st_i) {
        assemble0609((byte) 0xC8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxch7  }<i>st_i</i>
     * Example disassembly syntax: {@code fxch7     st(0)}
     */
    // Template#: 4115, Serial#: 12987
    public void fxch7_r12987(FPStackRegister st_i) {
        assemble0610((byte) 0xC8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxch7  }<i>st_i</i>
     * Example disassembly syntax: {@code fxch7     st(0)}
     */
    // Template#: 4116, Serial#: 12988
    public void fxch7_r12988(FPStackRegister st_i) {
        assemble0611((byte) 0xC8, st_i);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxrstor  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fxrstor   rbx[rsi * 4 + 18]}
     */
    // Template#: 4117, Serial#: 11357
    public void fxrstor(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0349((byte) 0xAE, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxrstor  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fxrstor   rbx[rsi * 4 + 18]}
     */
    // Template#: 4118, Serial#: 11397
    public void fxrstor_r11397(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0350((byte) 0xAE, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxrstor  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fxrstor   rbx[rsi * 4 + 18]}
     */
    // Template#: 4119, Serial#: 11437
    public void fxrstor_r11437(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0351((byte) 0xAE, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxrstor  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fxrstor   [rbx + 18]}
     */
    // Template#: 4120, Serial#: 11356
    public void fxrstor(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0352((byte) 0xAE, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxrstor  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fxrstor   [rbx + 18]}
     */
    // Template#: 4121, Serial#: 11396
    public void fxrstor_r11396(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0353((byte) 0xAE, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxrstor  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fxrstor   [rbx + 18]}
     */
    // Template#: 4122, Serial#: 11436
    public void fxrstor_r11436(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0354((byte) 0xAE, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxrstor  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fxrstor   rbx[rsi * 4]}
     */
    // Template#: 4123, Serial#: 11339
    public void fxrstor(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0355((byte) 0xAE, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxrstor  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fxrstor   rbx[rsi * 4]}
     */
    // Template#: 4124, Serial#: 11379
    public void fxrstor_r11379(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0356((byte) 0xAE, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxrstor  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fxrstor   rbx[rsi * 4]}
     */
    // Template#: 4125, Serial#: 11419
    public void fxrstor_r11419(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0357((byte) 0xAE, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxrstor  }<i>destination</i>
     * Example disassembly syntax: {@code fxrstor   [rbx]}
     */
    // Template#: 4126, Serial#: 11338
    public void fxrstor(AMD64IndirectRegister64 destination) {
        assemble0358((byte) 0xAE, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxrstor  }<i>destination</i>
     * Example disassembly syntax: {@code fxrstor   [rbx]}
     */
    // Template#: 4127, Serial#: 11378
    public void fxrstor_r11378(AMD64IndirectRegister64 destination) {
        assemble0359((byte) 0xAE, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxrstor  }<i>destination</i>
     * Example disassembly syntax: {@code fxrstor   [rbx]}
     */
    // Template#: 4128, Serial#: 11418
    public void fxrstor_r11418(AMD64IndirectRegister64 destination) {
        assemble0360((byte) 0xAE, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxrstor  }<i>rel32</i>
     * Example disassembly syntax: {@code fxrstor   [L1: +305419896]}
     */
    // Template#: 4129, Serial#: 11341
    public void rip_fxrstor(int rel32) {
        assemble0361((byte) 0xAE, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxrstor  }<i>rel32</i>
     * Example disassembly syntax: {@code fxrstor   [L1: +305419896]}
     */
    // Template#: 4130, Serial#: 11381
    public void rip_fxrstor_r11381(int rel32) {
        assemble0362((byte) 0xAE, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxrstor  }<i>rel32</i>
     * Example disassembly syntax: {@code fxrstor   [L1: +305419896]}
     */
    // Template#: 4131, Serial#: 11421
    public void rip_fxrstor_r11421(int rel32) {
        assemble0363((byte) 0xAE, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxrstor  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fxrstor   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4132, Serial#: 11367
    public void fxrstor(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0364((byte) 0xAE, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxrstor  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fxrstor   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4133, Serial#: 11407
    public void fxrstor_r11407(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0365((byte) 0xAE, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxrstor  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fxrstor   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4134, Serial#: 11447
    public void fxrstor_r11447(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0366((byte) 0xAE, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxrstor  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fxrstor   0x12345678[rsi * 4]}
     */
    // Template#: 4135, Serial#: 11340
    public void m_fxrstor(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0367((byte) 0xAE, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxrstor  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fxrstor   0x12345678[rsi * 4]}
     */
    // Template#: 4136, Serial#: 11380
    public void m_fxrstor_r11380(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0368((byte) 0xAE, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxrstor  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fxrstor   0x12345678[rsi * 4]}
     */
    // Template#: 4137, Serial#: 11420
    public void m_fxrstor_r11420(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0369((byte) 0xAE, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxrstor  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fxrstor   [rbx + 305419896]}
     */
    // Template#: 4138, Serial#: 11366
    public void fxrstor(int disp32, AMD64IndirectRegister64 destination) {
        assemble0370((byte) 0xAE, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxrstor  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fxrstor   [rbx + 305419896]}
     */
    // Template#: 4139, Serial#: 11406
    public void fxrstor_r11406(int disp32, AMD64IndirectRegister64 destination) {
        assemble0371((byte) 0xAE, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxrstor  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fxrstor   [rbx + 305419896]}
     */
    // Template#: 4140, Serial#: 11446
    public void fxrstor_r11446(int disp32, AMD64IndirectRegister64 destination) {
        assemble0372((byte) 0xAE, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxsave  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fxsave    rbx[rsi * 4 + 18]}
     */
    // Template#: 4141, Serial#: 11355
    public void fxsave(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0349((byte) 0xAE, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxsave  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fxsave    rbx[rsi * 4 + 18]}
     */
    // Template#: 4142, Serial#: 11395
    public void fxsave_r11395(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0350((byte) 0xAE, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxsave  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fxsave    rbx[rsi * 4 + 18]}
     */
    // Template#: 4143, Serial#: 11435
    public void fxsave_r11435(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0351((byte) 0xAE, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxsave  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fxsave    [rbx + 18]}
     */
    // Template#: 4144, Serial#: 11354
    public void fxsave(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0352((byte) 0xAE, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxsave  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fxsave    [rbx + 18]}
     */
    // Template#: 4145, Serial#: 11394
    public void fxsave_r11394(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0353((byte) 0xAE, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxsave  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code fxsave    [rbx + 18]}
     */
    // Template#: 4146, Serial#: 11434
    public void fxsave_r11434(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0354((byte) 0xAE, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxsave  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fxsave    rbx[rsi * 4]}
     */
    // Template#: 4147, Serial#: 11335
    public void fxsave(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0355((byte) 0xAE, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxsave  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fxsave    rbx[rsi * 4]}
     */
    // Template#: 4148, Serial#: 11375
    public void fxsave_r11375(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0356((byte) 0xAE, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxsave  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fxsave    rbx[rsi * 4]}
     */
    // Template#: 4149, Serial#: 11415
    public void fxsave_r11415(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0357((byte) 0xAE, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxsave  }<i>destination</i>
     * Example disassembly syntax: {@code fxsave    [rbx]}
     */
    // Template#: 4150, Serial#: 11334
    public void fxsave(AMD64IndirectRegister64 destination) {
        assemble0358((byte) 0xAE, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxsave  }<i>destination</i>
     * Example disassembly syntax: {@code fxsave    [rbx]}
     */
    // Template#: 4151, Serial#: 11374
    public void fxsave_r11374(AMD64IndirectRegister64 destination) {
        assemble0359((byte) 0xAE, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxsave  }<i>destination</i>
     * Example disassembly syntax: {@code fxsave    [rbx]}
     */
    // Template#: 4152, Serial#: 11414
    public void fxsave_r11414(AMD64IndirectRegister64 destination) {
        assemble0360((byte) 0xAE, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxsave  }<i>rel32</i>
     * Example disassembly syntax: {@code fxsave    [L1: +305419896]}
     */
    // Template#: 4153, Serial#: 11337
    public void rip_fxsave(int rel32) {
        assemble0361((byte) 0xAE, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxsave  }<i>rel32</i>
     * Example disassembly syntax: {@code fxsave    [L1: +305419896]}
     */
    // Template#: 4154, Serial#: 11377
    public void rip_fxsave_r11377(int rel32) {
        assemble0362((byte) 0xAE, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxsave  }<i>rel32</i>
     * Example disassembly syntax: {@code fxsave    [L1: +305419896]}
     */
    // Template#: 4155, Serial#: 11417
    public void rip_fxsave_r11417(int rel32) {
        assemble0363((byte) 0xAE, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxsave  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fxsave    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4156, Serial#: 11365
    public void fxsave(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0364((byte) 0xAE, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxsave  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fxsave    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4157, Serial#: 11405
    public void fxsave_r11405(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0365((byte) 0xAE, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxsave  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fxsave    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4158, Serial#: 11445
    public void fxsave_r11445(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0366((byte) 0xAE, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxsave  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fxsave    0x12345678[rsi * 4]}
     */
    // Template#: 4159, Serial#: 11336
    public void m_fxsave(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0367((byte) 0xAE, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxsave  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fxsave    0x12345678[rsi * 4]}
     */
    // Template#: 4160, Serial#: 11376
    public void m_fxsave_r11376(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0368((byte) 0xAE, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxsave  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code fxsave    0x12345678[rsi * 4]}
     */
    // Template#: 4161, Serial#: 11416
    public void m_fxsave_r11416(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0369((byte) 0xAE, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxsave  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fxsave    [rbx + 305419896]}
     */
    // Template#: 4162, Serial#: 11364
    public void fxsave(int disp32, AMD64IndirectRegister64 destination) {
        assemble0370((byte) 0xAE, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxsave  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fxsave    [rbx + 305419896]}
     */
    // Template#: 4163, Serial#: 11404
    public void fxsave_r11404(int disp32, AMD64IndirectRegister64 destination) {
        assemble0371((byte) 0xAE, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxsave  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code fxsave    [rbx + 305419896]}
     */
    // Template#: 4164, Serial#: 11444
    public void fxsave_r11444(int disp32, AMD64IndirectRegister64 destination) {
        assemble0372((byte) 0xAE, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxtract  }
     * Example disassembly syntax: {@code fxtract }
     */
    // Template#: 4165, Serial#: 12842
    public void fxtract() {
        assemble0588((byte) 0xF4);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxtract  }
     * Example disassembly syntax: {@code fxtract }
     */
    // Template#: 4166, Serial#: 12843
    public void fxtract_r12843() {
        assemble0589((byte) 0xF4);
    }

    /**
     * Pseudo-external assembler syntax: {@code fxtract  }
     * Example disassembly syntax: {@code fxtract }
     */
    // Template#: 4167, Serial#: 12844
    public void fxtract_r12844() {
        assemble0590((byte) 0xF4);
    }

    /**
     * Pseudo-external assembler syntax: {@code fyl2x  }
     * Example disassembly syntax: {@code fyl2x   }
     */
    // Template#: 4168, Serial#: 12833
    public void fyl2x() {
        assemble0588((byte) 0xF1);
    }

    /**
     * Pseudo-external assembler syntax: {@code fyl2x  }
     * Example disassembly syntax: {@code fyl2x   }
     */
    // Template#: 4169, Serial#: 12834
    public void fyl2x_r12834() {
        assemble0589((byte) 0xF1);
    }

    /**
     * Pseudo-external assembler syntax: {@code fyl2x  }
     * Example disassembly syntax: {@code fyl2x   }
     */
    // Template#: 4170, Serial#: 12835
    public void fyl2x_r12835() {
        assemble0590((byte) 0xF1);
    }

    /**
     * Pseudo-external assembler syntax: {@code fyl2xp1  }
     * Example disassembly syntax: {@code fyl2xp1 }
     */
    // Template#: 4171, Serial#: 12857
    public void fyl2xp1() {
        assemble0588((byte) 0xF9);
    }

    /**
     * Pseudo-external assembler syntax: {@code fyl2xp1  }
     * Example disassembly syntax: {@code fyl2xp1 }
     */
    // Template#: 4172, Serial#: 12858
    public void fyl2xp1_r12858() {
        assemble0589((byte) 0xF9);
    }

    /**
     * Pseudo-external assembler syntax: {@code fyl2xp1  }
     * Example disassembly syntax: {@code fyl2xp1 }
     */
    // Template#: 4173, Serial#: 12859
    public void fyl2xp1_r12859() {
        assemble0590((byte) 0xF9);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code haddpd    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 4174, Serial#: 10883
    public void haddpd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x7C, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code haddpd    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 4175, Serial#: 10892
    public void haddpd_r10892(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x7C, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code haddpd    xmm0, [rbx + 18]}
     */
    // Template#: 4176, Serial#: 10882
    public void haddpd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x7C, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code haddpd    xmm0, [rbx + 18]}
     */
    // Template#: 4177, Serial#: 10891
    public void haddpd_r10891(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x7C, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code haddpd    xmm0, rbx[rsi * 4]}
     */
    // Template#: 4178, Serial#: 10879
    public void haddpd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x7C, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code haddpd    xmm0, rbx[rsi * 4]}
     */
    // Template#: 4179, Serial#: 10888
    public void haddpd_r10888(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x7C, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code haddpd    xmm0, [rbx]}
     */
    // Template#: 4180, Serial#: 10878
    public void haddpd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x7C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code haddpd    xmm0, [rbx]}
     */
    // Template#: 4181, Serial#: 10887
    public void haddpd_r10887(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x7C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code haddpd    xmm0, xmm0}
     */
    // Template#: 4182, Serial#: 10886
    public void haddpd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x7C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code haddpd    xmm0, xmm0}
     */
    // Template#: 4183, Serial#: 10895
    public void haddpd_r10895(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x7C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code haddpd    xmm0, [L1: +305419896]}
     */
    // Template#: 4184, Serial#: 10881
    public void rip_haddpd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x7C, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code haddpd    xmm0, [L1: +305419896]}
     */
    // Template#: 4185, Serial#: 10890
    public void rip_haddpd_r10890(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x7C, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code haddpd    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4186, Serial#: 10885
    public void haddpd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x7C, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code haddpd    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4187, Serial#: 10894
    public void haddpd_r10894(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x7C, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code haddpd    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 4188, Serial#: 10880
    public void m_haddpd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x7C, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code haddpd    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 4189, Serial#: 10889
    public void m_haddpd_r10889(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x7C, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code haddpd    xmm0, [rbx + 305419896]}
     */
    // Template#: 4190, Serial#: 10884
    public void haddpd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x7C, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code haddpd    xmm0, [rbx + 305419896]}
     */
    // Template#: 4191, Serial#: 10893
    public void haddpd_r10893(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x7C, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code haddps    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 4192, Serial#: 10955
    public void haddps(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0211((byte) 0x7C, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code haddps    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 4193, Serial#: 10964
    public void haddps_r10964(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0212((byte) 0x7C, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code haddps    xmm0, [rbx + 18]}
     */
    // Template#: 4194, Serial#: 10954
    public void haddps(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0213((byte) 0x7C, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code haddps    xmm0, [rbx + 18]}
     */
    // Template#: 4195, Serial#: 10963
    public void haddps_r10963(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0214((byte) 0x7C, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code haddps    xmm0, rbx[rsi * 4]}
     */
    // Template#: 4196, Serial#: 10951
    public void haddps(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0215((byte) 0x7C, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code haddps    xmm0, rbx[rsi * 4]}
     */
    // Template#: 4197, Serial#: 10960
    public void haddps_r10960(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0216((byte) 0x7C, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code haddps    xmm0, [rbx]}
     */
    // Template#: 4198, Serial#: 10950
    public void haddps(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0217((byte) 0x7C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code haddps    xmm0, [rbx]}
     */
    // Template#: 4199, Serial#: 10959
    public void haddps_r10959(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0218((byte) 0x7C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code haddps    xmm0, xmm0}
     */
    // Template#: 4200, Serial#: 10958
    public void haddps(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0219((byte) 0x7C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code haddps    xmm0, xmm0}
     */
    // Template#: 4201, Serial#: 10967
    public void haddps_r10967(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0220((byte) 0x7C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code haddps    xmm0, [L1: +305419896]}
     */
    // Template#: 4202, Serial#: 10953
    public void rip_haddps(AMD64XMMRegister destination, int rel32) {
        assemble0221((byte) 0x7C, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code haddps    xmm0, [L1: +305419896]}
     */
    // Template#: 4203, Serial#: 10962
    public void rip_haddps_r10962(AMD64XMMRegister destination, int rel32) {
        assemble0222((byte) 0x7C, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code haddps    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4204, Serial#: 10957
    public void haddps(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0223((byte) 0x7C, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code haddps    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4205, Serial#: 10966
    public void haddps_r10966(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0224((byte) 0x7C, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code haddps    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 4206, Serial#: 10952
    public void m_haddps(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0225((byte) 0x7C, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code haddps    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 4207, Serial#: 10961
    public void m_haddps_r10961(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0226((byte) 0x7C, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code haddps    xmm0, [rbx + 305419896]}
     */
    // Template#: 4208, Serial#: 10956
    public void haddps(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0227((byte) 0x7C, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code haddps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code haddps    xmm0, [rbx + 305419896]}
     */
    // Template#: 4209, Serial#: 10965
    public void haddps_r10965(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0228((byte) 0x7C, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code hlt  }
     * Example disassembly syntax: {@code hlt     }
     */
    // Template#: 4210, Serial#: 2675
    public void hlt() {
        assemble0208((byte) 0xF4);
    }

    /**
     * Pseudo-external assembler syntax: {@code hlt  }
     * Example disassembly syntax: {@code hlt     }
     */
    // Template#: 4211, Serial#: 2676
    public void hlt_r2676() {
        assemble0209((byte) 0xF4);
    }

    /**
     * Pseudo-external assembler syntax: {@code hlt  }
     * Example disassembly syntax: {@code hlt     }
     */
    // Template#: 4212, Serial#: 2677
    public void hlt_r2677() {
        assemble0210((byte) 0xF4);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code hsubpd    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 4213, Serial#: 10901
    public void hsubpd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x7D, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code hsubpd    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 4214, Serial#: 10910
    public void hsubpd_r10910(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x7D, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code hsubpd    xmm0, [rbx + 18]}
     */
    // Template#: 4215, Serial#: 10900
    public void hsubpd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x7D, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code hsubpd    xmm0, [rbx + 18]}
     */
    // Template#: 4216, Serial#: 10909
    public void hsubpd_r10909(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x7D, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code hsubpd    xmm0, rbx[rsi * 4]}
     */
    // Template#: 4217, Serial#: 10897
    public void hsubpd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x7D, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code hsubpd    xmm0, rbx[rsi * 4]}
     */
    // Template#: 4218, Serial#: 10906
    public void hsubpd_r10906(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x7D, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code hsubpd    xmm0, [rbx]}
     */
    // Template#: 4219, Serial#: 10896
    public void hsubpd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x7D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code hsubpd    xmm0, [rbx]}
     */
    // Template#: 4220, Serial#: 10905
    public void hsubpd_r10905(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x7D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code hsubpd    xmm0, xmm0}
     */
    // Template#: 4221, Serial#: 10904
    public void hsubpd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x7D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code hsubpd    xmm0, xmm0}
     */
    // Template#: 4222, Serial#: 10913
    public void hsubpd_r10913(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x7D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code hsubpd    xmm0, [L1: +305419896]}
     */
    // Template#: 4223, Serial#: 10899
    public void rip_hsubpd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x7D, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code hsubpd    xmm0, [L1: +305419896]}
     */
    // Template#: 4224, Serial#: 10908
    public void rip_hsubpd_r10908(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x7D, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code hsubpd    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4225, Serial#: 10903
    public void hsubpd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x7D, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code hsubpd    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4226, Serial#: 10912
    public void hsubpd_r10912(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x7D, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code hsubpd    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 4227, Serial#: 10898
    public void m_hsubpd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x7D, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code hsubpd    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 4228, Serial#: 10907
    public void m_hsubpd_r10907(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x7D, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code hsubpd    xmm0, [rbx + 305419896]}
     */
    // Template#: 4229, Serial#: 10902
    public void hsubpd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x7D, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code hsubpd    xmm0, [rbx + 305419896]}
     */
    // Template#: 4230, Serial#: 10911
    public void hsubpd_r10911(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x7D, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code hsubps    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 4231, Serial#: 10973
    public void hsubps(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0211((byte) 0x7D, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code hsubps    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 4232, Serial#: 10982
    public void hsubps_r10982(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0212((byte) 0x7D, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code hsubps    xmm0, [rbx + 18]}
     */
    // Template#: 4233, Serial#: 10972
    public void hsubps(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0213((byte) 0x7D, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code hsubps    xmm0, [rbx + 18]}
     */
    // Template#: 4234, Serial#: 10981
    public void hsubps_r10981(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0214((byte) 0x7D, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code hsubps    xmm0, rbx[rsi * 4]}
     */
    // Template#: 4235, Serial#: 10969
    public void hsubps(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0215((byte) 0x7D, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code hsubps    xmm0, rbx[rsi * 4]}
     */
    // Template#: 4236, Serial#: 10978
    public void hsubps_r10978(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0216((byte) 0x7D, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code hsubps    xmm0, [rbx]}
     */
    // Template#: 4237, Serial#: 10968
    public void hsubps(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0217((byte) 0x7D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code hsubps    xmm0, [rbx]}
     */
    // Template#: 4238, Serial#: 10977
    public void hsubps_r10977(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0218((byte) 0x7D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code hsubps    xmm0, xmm0}
     */
    // Template#: 4239, Serial#: 10976
    public void hsubps(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0219((byte) 0x7D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code hsubps    xmm0, xmm0}
     */
    // Template#: 4240, Serial#: 10985
    public void hsubps_r10985(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0220((byte) 0x7D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code hsubps    xmm0, [L1: +305419896]}
     */
    // Template#: 4241, Serial#: 10971
    public void rip_hsubps(AMD64XMMRegister destination, int rel32) {
        assemble0221((byte) 0x7D, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code hsubps    xmm0, [L1: +305419896]}
     */
    // Template#: 4242, Serial#: 10980
    public void rip_hsubps_r10980(AMD64XMMRegister destination, int rel32) {
        assemble0222((byte) 0x7D, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code hsubps    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4243, Serial#: 10975
    public void hsubps(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0223((byte) 0x7D, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code hsubps    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4244, Serial#: 10984
    public void hsubps_r10984(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0224((byte) 0x7D, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code hsubps    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 4245, Serial#: 10970
    public void m_hsubps(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0225((byte) 0x7D, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code hsubps    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 4246, Serial#: 10979
    public void m_hsubps_r10979(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0226((byte) 0x7D, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code hsubps    xmm0, [rbx + 305419896]}
     */
    // Template#: 4247, Serial#: 10974
    public void hsubps(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0227((byte) 0x7D, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code hsubps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code hsubps    xmm0, [rbx + 305419896]}
     */
    // Template#: 4248, Serial#: 10983
    public void hsubps_r10983(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0228((byte) 0x7D, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code idivb     rbx[rsi * 4 + 18], al}
     */
    // Template#: 4249, Serial#: 2728
    public void idivb___AL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xF6, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code idivb     rbx[rsi * 4 + 18], al}
     */
    // Template#: 4250, Serial#: 2800
    public void idivb___AL_r2800(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xF6, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code idivb     rbx[rsi * 4 + 18], al}
     */
    // Template#: 4251, Serial#: 2872
    public void idivb___AL_r2872(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xF6, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code idivl     rbx[rsi * 4 + 18]}
     */
    // Template#: 4252, Serial#: 2944
    public void idivl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xF7, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code idivq     rbx[rsi * 4 + 18]}
     */
    // Template#: 4253, Serial#: 3016
    public void idivq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xF7, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code idivw     rbx[rsi * 4 + 18]}
     */
    // Template#: 4254, Serial#: 3088
    public void idivw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xF7, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code idivb     [rbx + 18], al}
     */
    // Template#: 4255, Serial#: 2727
    public void idivb___AL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xF6, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code idivb     [rbx + 18], al}
     */
    // Template#: 4256, Serial#: 2799
    public void idivb___AL_r2799(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xF6, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code idivb     [rbx + 18], al}
     */
    // Template#: 4257, Serial#: 2871
    public void idivb___AL_r2871(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xF6, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code idivl     [rbx + 18]}
     */
    // Template#: 4258, Serial#: 2943
    public void idivl(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xF7, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code idivq     [rbx + 18]}
     */
    // Template#: 4259, Serial#: 3015
    public void idivq(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xF7, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code idivw     [rbx + 18]}
     */
    // Template#: 4260, Serial#: 3087
    public void idivw(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xF7, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code idivb     rbx[rsi * 4], al}
     */
    // Template#: 4261, Serial#: 2710
    public void idivb___AL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xF6, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code idivb     rbx[rsi * 4], al}
     */
    // Template#: 4262, Serial#: 2782
    public void idivb___AL_r2782(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xF6, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code idivb     rbx[rsi * 4], al}
     */
    // Template#: 4263, Serial#: 2854
    public void idivb___AL_r2854(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xF6, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code idivl     rbx[rsi * 4]}
     */
    // Template#: 4264, Serial#: 2926
    public void idivl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xF7, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code idivq     rbx[rsi * 4]}
     */
    // Template#: 4265, Serial#: 2998
    public void idivq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xF7, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code idivw     rbx[rsi * 4]}
     */
    // Template#: 4266, Serial#: 3070
    public void idivw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xF7, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivw  }<i>destination</i>
     * Example disassembly syntax: {@code idivw     ax}
     */
    // Template#: 4267, Serial#: 3112
    public void idivw(AMD64GeneralRegister16 destination) {
        assemble0336((byte) 0xF7, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivl  }<i>destination</i>
     * Example disassembly syntax: {@code idivl     eax}
     */
    // Template#: 4268, Serial#: 2968
    public void idivl(AMD64GeneralRegister32 destination) {
        assemble0576((byte) 0xF7, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivq  }<i>destination</i>
     * Example disassembly syntax: {@code idivq     rax}
     */
    // Template#: 4269, Serial#: 3040
    public void idivq(AMD64GeneralRegister64 destination) {
        assemble0577((byte) 0xF7, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivb  }<i>destination</i>
     * Example disassembly syntax: {@code idivb     al, al}
     */
    // Template#: 4270, Serial#: 2752
    public void idivb___AL(AMD64GeneralRegister8 destination) {
        assemble0578((byte) 0xF6, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivb  }<i>destination</i>
     * Example disassembly syntax: {@code idivb     al, al}
     */
    // Template#: 4271, Serial#: 2824
    public void idivb___AL_r2824(AMD64GeneralRegister8 destination) {
        assemble0579((byte) 0xF6, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivb  }<i>destination</i>
     * Example disassembly syntax: {@code idivb     al, al}
     */
    // Template#: 4272, Serial#: 2896
    public void idivb___AL_r2896(AMD64GeneralRegister8 destination) {
        assemble0580((byte) 0xF6, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivb  }<i>destination</i>
     * Example disassembly syntax: {@code idivb     [rbx], al}
     */
    // Template#: 4273, Serial#: 2709
    public void idivb___AL(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xF6, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivb  }<i>destination</i>
     * Example disassembly syntax: {@code idivb     [rbx], al}
     */
    // Template#: 4274, Serial#: 2781
    public void idivb___AL_r2781(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xF6, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivb  }<i>destination</i>
     * Example disassembly syntax: {@code idivb     [rbx], al}
     */
    // Template#: 4275, Serial#: 2853
    public void idivb___AL_r2853(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xF6, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivl  }<i>destination</i>
     * Example disassembly syntax: {@code idivl     [rbx]}
     */
    // Template#: 4276, Serial#: 2925
    public void idivl(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xF7, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivq  }<i>destination</i>
     * Example disassembly syntax: {@code idivq     [rbx]}
     */
    // Template#: 4277, Serial#: 2997
    public void idivq(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xF7, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivw  }<i>destination</i>
     * Example disassembly syntax: {@code idivw     [rbx]}
     */
    // Template#: 4278, Serial#: 3069
    public void idivw(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xF7, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivb  }<i>rel32</i>
     * Example disassembly syntax: {@code idivb     [L1: +305419896], al}
     */
    // Template#: 4279, Serial#: 2712
    public void rip_idivb___AL(int rel32) {
        assemble0341((byte) 0xF6, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivb  }<i>rel32</i>
     * Example disassembly syntax: {@code idivb     [L1: +305419896], al}
     */
    // Template#: 4280, Serial#: 2784
    public void rip_idivb___AL_r2784(int rel32) {
        assemble0582((byte) 0xF6, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivb  }<i>rel32</i>
     * Example disassembly syntax: {@code idivb     [L1: +305419896], al}
     */
    // Template#: 4281, Serial#: 2856
    public void rip_idivb___AL_r2856(int rel32) {
        assemble0342((byte) 0xF6, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivl  }<i>rel32</i>
     * Example disassembly syntax: {@code idivl     [L1: +305419896]}
     */
    // Template#: 4282, Serial#: 2928
    public void rip_idivl(int rel32) {
        assemble0341((byte) 0xF7, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivq  }<i>rel32</i>
     * Example disassembly syntax: {@code idivq     [L1: +305419896]}
     */
    // Template#: 4283, Serial#: 3000
    public void rip_idivq(int rel32) {
        assemble0582((byte) 0xF7, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivw  }<i>rel32</i>
     * Example disassembly syntax: {@code idivw     [L1: +305419896]}
     */
    // Template#: 4284, Serial#: 3072
    public void rip_idivw(int rel32) {
        assemble0342((byte) 0xF7, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code idivb     rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 4285, Serial#: 2744
    public void idivb___AL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xF6, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code idivb     rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 4286, Serial#: 2816
    public void idivb___AL_r2816(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xF6, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code idivb     rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 4287, Serial#: 2888
    public void idivb___AL_r2888(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xF6, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code idivl     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4288, Serial#: 2960
    public void idivl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xF7, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code idivq     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4289, Serial#: 3032
    public void idivq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xF7, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code idivw     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4290, Serial#: 3104
    public void idivw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xF7, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code idivb     0x12345678[rsi * 4], al}
     */
    // Template#: 4291, Serial#: 2711
    public void m_idivb___AL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xF6, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code idivb     0x12345678[rsi * 4], al}
     */
    // Template#: 4292, Serial#: 2783
    public void m_idivb___AL_r2783(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xF6, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code idivb     0x12345678[rsi * 4], al}
     */
    // Template#: 4293, Serial#: 2855
    public void m_idivb___AL_r2855(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xF6, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code idivl     0x12345678[rsi * 4]}
     */
    // Template#: 4294, Serial#: 2927
    public void m_idivl(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xF7, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code idivq     0x12345678[rsi * 4]}
     */
    // Template#: 4295, Serial#: 2999
    public void m_idivq(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xF7, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code idivw     0x12345678[rsi * 4]}
     */
    // Template#: 4296, Serial#: 3071
    public void m_idivw(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xF7, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code idivb     [rbx + 305419896], al}
     */
    // Template#: 4297, Serial#: 2743
    public void idivb___AL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xF6, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code idivb     [rbx + 305419896], al}
     */
    // Template#: 4298, Serial#: 2815
    public void idivb___AL_r2815(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xF6, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code idivb     [rbx + 305419896], al}
     */
    // Template#: 4299, Serial#: 2887
    public void idivb___AL_r2887(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xF6, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code idivl     [rbx + 305419896]}
     */
    // Template#: 4300, Serial#: 2959
    public void idivl(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xF7, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code idivq     [rbx + 305419896]}
     */
    // Template#: 4301, Serial#: 3031
    public void idivq(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xF7, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code idivw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code idivw     [rbx + 305419896]}
     */
    // Template#: 4302, Serial#: 3103
    public void idivw(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xF7, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imulb     rbx[rsi * 4 + 18], al}
     */
    // Template#: 4303, Serial#: 2724
    public void imulb___AL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xF6, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imulb     rbx[rsi * 4 + 18], al}
     */
    // Template#: 4304, Serial#: 2796
    public void imulb___AL_r2796(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xF6, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imulb     rbx[rsi * 4 + 18], al}
     */
    // Template#: 4305, Serial#: 2868
    public void imulb___AL_r2868(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xF6, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imull  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imull     rbx[rsi * 4 + 18]}
     */
    // Template#: 4306, Serial#: 2940
    public void imull(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xF7, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imulq     rbx[rsi * 4 + 18]}
     */
    // Template#: 4307, Serial#: 3012
    public void imulq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xF7, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imulw     rbx[rsi * 4 + 18]}
     */
    // Template#: 4308, Serial#: 3084
    public void imulw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xF7, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code imulb     [rbx + 18], al}
     */
    // Template#: 4309, Serial#: 2723
    public void imulb___AL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xF6, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code imulb     [rbx + 18], al}
     */
    // Template#: 4310, Serial#: 2795
    public void imulb___AL_r2795(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xF6, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code imulb     [rbx + 18], al}
     */
    // Template#: 4311, Serial#: 2867
    public void imulb___AL_r2867(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xF6, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code imull  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code imull     [rbx + 18]}
     */
    // Template#: 4312, Serial#: 2939
    public void imull(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xF7, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code imulq     [rbx + 18]}
     */
    // Template#: 4313, Serial#: 3011
    public void imulq(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xF7, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code imulw     [rbx + 18]}
     */
    // Template#: 4314, Serial#: 3083
    public void imulw(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xF7, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imulb     rbx[rsi * 4], al}
     */
    // Template#: 4315, Serial#: 2702
    public void imulb___AL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xF6, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imulb     rbx[rsi * 4], al}
     */
    // Template#: 4316, Serial#: 2774
    public void imulb___AL_r2774(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xF6, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imulb     rbx[rsi * 4], al}
     */
    // Template#: 4317, Serial#: 2846
    public void imulb___AL_r2846(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xF6, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imull  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imull     rbx[rsi * 4]}
     */
    // Template#: 4318, Serial#: 2918
    public void imull(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xF7, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imulq     rbx[rsi * 4]}
     */
    // Template#: 4319, Serial#: 2990
    public void imulq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xF7, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imulw     rbx[rsi * 4]}
     */
    // Template#: 4320, Serial#: 3062
    public void imulw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xF7, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulw  }<i>destination</i>
     * Example disassembly syntax: {@code imulw     ax}
     */
    // Template#: 4321, Serial#: 3110
    public void imulw(AMD64GeneralRegister16 destination) {
        assemble0336((byte) 0xF7, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imul      ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 4322, Serial#: 11486
    public void imul(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0247((byte) 0xAF, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code imul      ax, rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 4323, Serial#: 3631
    public void imul(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0627((byte) 0x6B, destination, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code imul      ax, rbx[rsi * 4 + 18], 0x1234}
     */
    // Template#: 4324, Serial#: 3602
    public void imul(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0628((byte) 0x69, destination, disp8, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code imul      ax, [rbx + 18]}
     */
    // Template#: 4325, Serial#: 11485
    public void imul(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0248((byte) 0xAF, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code imul      ax, [rbx + 18], 0x12}
     */
    // Template#: 4326, Serial#: 3630
    public void imul(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        assemble0629((byte) 0x6B, destination, disp8, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>imm16</i>
     * Example disassembly syntax: {@code imul      ax, [rbx + 18], 0x1234}
     */
    // Template#: 4327, Serial#: 3601
    public void imul(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source, short imm16) {
        assemble0630((byte) 0x69, destination, disp8, source, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imul      ax, rbx[rsi * 4]}
     */
    // Template#: 4328, Serial#: 11482
    public void imul(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0249((byte) 0xAF, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code imul      ax, rbx[rsi * 4], 0x12}
     */
    // Template#: 4329, Serial#: 3627
    public void imul(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0631((byte) 0x6B, destination, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code imul      ax, rbx[rsi * 4], 0x1234}
     */
    // Template#: 4330, Serial#: 3598
    public void imul(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0632((byte) 0x69, destination, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code imul      ax, ax}
     */
    // Template#: 4331, Serial#: 11489
    public void imul(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0250((byte) 0xAF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code imul      ax, ax, 0x12}
     */
    // Template#: 4332, Serial#: 3634
    public void imul(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source, byte imm8) {
        assemble0633((byte) 0x6B, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>source</i>, <i>imm16</i>
     * Example disassembly syntax: {@code imul      ax, ax, 0x1234}
     */
    // Template#: 4333, Serial#: 3605
    public void imul(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source, short imm16) {
        assemble0634((byte) 0x69, destination, source, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code imul      ax, [rbx]}
     */
    // Template#: 4334, Serial#: 11481
    public void imul(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0251((byte) 0xAF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code imul      ax, [rbx], 0x12}
     */
    // Template#: 4335, Serial#: 3626
    public void imul(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source, byte imm8) {
        assemble0635((byte) 0x6B, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>source</i>, <i>imm16</i>
     * Example disassembly syntax: {@code imul      ax, [rbx], 0x1234}
     */
    // Template#: 4336, Serial#: 3597
    public void imul(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source, short imm16) {
        assemble0636((byte) 0x69, destination, source, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code imul      ax, [L1: +305419896]}
     */
    // Template#: 4337, Serial#: 11484
    public void rip_imul(AMD64GeneralRegister16 destination, int rel32) {
        assemble0252((byte) 0xAF, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code imul      ax, [L1: +305419896], 0x12}
     */
    // Template#: 4338, Serial#: 3629
    public void rip_imul(AMD64GeneralRegister16 destination, int rel32, byte imm8) {
        assemble0637((byte) 0x6B, destination, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imul      ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4339, Serial#: 11488
    public void imul(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0253((byte) 0xAF, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code imul      ax, rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 4340, Serial#: 3633
    public void imul(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0638((byte) 0x6B, destination, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code imul      ax, rbx[rsi * 4 + 305419896], 0x1234}
     */
    // Template#: 4341, Serial#: 3604
    public void imul(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0639((byte) 0x69, destination, disp32, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imul      ax, 0x12345678[rsi * 4]}
     */
    // Template#: 4342, Serial#: 11483
    public void m_imul(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0254((byte) 0xAF, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code imul      ax, 0x12345678[rsi * 4], 0x12}
     */
    // Template#: 4343, Serial#: 3628
    public void m_imul(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0640((byte) 0x6B, destination, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code imul      ax, 0x12345678[rsi * 4], 0x1234}
     */
    // Template#: 4344, Serial#: 3599
    public void m_imul(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0641((byte) 0x69, destination, m32, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code imul      ax, [rbx + 305419896]}
     */
    // Template#: 4345, Serial#: 11487
    public void imul(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0255((byte) 0xAF, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code imul      ax, [rbx + 305419896], 0x12}
     */
    // Template#: 4346, Serial#: 3632
    public void imul(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        assemble0642((byte) 0x6B, destination, disp32, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>imm16</i>
     * Example disassembly syntax: {@code imul      ax, [rbx + 305419896], 0x1234}
     */
    // Template#: 4347, Serial#: 3603
    public void imul(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source, short imm16) {
        assemble0643((byte) 0x69, destination, disp32, source, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>rel32</i>, <i>imm16</i>
     * Example disassembly syntax: {@code imul      ax, [L1: +305419896], 0x1234}
     */
    // Template#: 4348, Serial#: 3600
    public void rip_imul(AMD64GeneralRegister16 destination, int rel32, short imm16) {
        assemble0644((byte) 0x69, destination, rel32, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code imull  }<i>destination</i>
     * Example disassembly syntax: {@code imull     eax}
     */
    // Template#: 4349, Serial#: 2966
    public void imull(AMD64GeneralRegister32 destination) {
        assemble0576((byte) 0xF7, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imul      eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 4350, Serial#: 11468
    public void imul(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0256((byte) 0xAF, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code imul      eax, rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 4351, Serial#: 3613
    public void imul(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0645((byte) 0x6B, destination, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code imul      eax, rbx[rsi * 4 + 18], 0x12345678}
     */
    // Template#: 4352, Serial#: 3584
    public void imul(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0646((byte) 0x69, destination, disp8, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code imul      eax, [rbx + 18]}
     */
    // Template#: 4353, Serial#: 11467
    public void imul(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0257((byte) 0xAF, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code imul      eax, [rbx + 18], 0x12}
     */
    // Template#: 4354, Serial#: 3612
    public void imul(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        assemble0647((byte) 0x6B, destination, disp8, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>imm32</i>
     * Example disassembly syntax: {@code imul      eax, [rbx + 18], 0x12345678}
     */
    // Template#: 4355, Serial#: 3583
    public void imul(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source, int imm32) {
        assemble0648((byte) 0x69, destination, disp8, source, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imul      eax, rbx[rsi * 4]}
     */
    // Template#: 4356, Serial#: 11464
    public void imul(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0258((byte) 0xAF, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code imul      eax, rbx[rsi * 4], 0x12}
     */
    // Template#: 4357, Serial#: 3609
    public void imul(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0649((byte) 0x6B, destination, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code imul      eax, rbx[rsi * 4], 0x12345678}
     */
    // Template#: 4358, Serial#: 3580
    public void imul(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0650((byte) 0x69, destination, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code imul      eax, eax}
     */
    // Template#: 4359, Serial#: 11471
    public void imul(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0259((byte) 0xAF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code imul      eax, eax, 0x12}
     */
    // Template#: 4360, Serial#: 3616
    public void imul(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source, byte imm8) {
        assemble0651((byte) 0x6B, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>source</i>, <i>imm32</i>
     * Example disassembly syntax: {@code imul      eax, eax, 0x12345678}
     */
    // Template#: 4361, Serial#: 3587
    public void imul(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source, int imm32) {
        assemble0652((byte) 0x69, destination, source, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code imul      eax, [rbx]}
     */
    // Template#: 4362, Serial#: 11463
    public void imul(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0260((byte) 0xAF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code imul      eax, [rbx], 0x12}
     */
    // Template#: 4363, Serial#: 3608
    public void imul(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source, byte imm8) {
        assemble0653((byte) 0x6B, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>source</i>, <i>imm32</i>
     * Example disassembly syntax: {@code imul      eax, [rbx], 0x12345678}
     */
    // Template#: 4364, Serial#: 3579
    public void imul(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source, int imm32) {
        assemble0654((byte) 0x69, destination, source, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code imul      eax, [L1: +305419896]}
     */
    // Template#: 4365, Serial#: 11466
    public void rip_imul(AMD64GeneralRegister32 destination, int rel32) {
        assemble0261((byte) 0xAF, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code imul      eax, [L1: +305419896], 0x12}
     */
    // Template#: 4366, Serial#: 3611
    public void rip_imul(AMD64GeneralRegister32 destination, int rel32, byte imm8) {
        assemble0655((byte) 0x6B, destination, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imul      eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4367, Serial#: 11470
    public void imul(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0262((byte) 0xAF, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code imul      eax, rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 4368, Serial#: 3615
    public void imul(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0656((byte) 0x6B, destination, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code imul      eax, rbx[rsi * 4 + 305419896], 0x12345678}
     */
    // Template#: 4369, Serial#: 3586
    public void imul(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0657((byte) 0x69, destination, disp32, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imul      eax, 0x12345678[rsi * 4]}
     */
    // Template#: 4370, Serial#: 11465
    public void m_imul(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0263((byte) 0xAF, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code imul      eax, 0x12345678[rsi * 4], 0x12}
     */
    // Template#: 4371, Serial#: 3610
    public void m_imul(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0658((byte) 0x6B, destination, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code imul      eax, 0x12345678[rsi * 4], 0x12345678}
     */
    // Template#: 4372, Serial#: 3581
    public void m_imul(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0659((byte) 0x69, destination, m32, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code imul      eax, [rbx + 305419896]}
     */
    // Template#: 4373, Serial#: 11469
    public void imul(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0264((byte) 0xAF, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code imul      eax, [rbx + 305419896], 0x12}
     */
    // Template#: 4374, Serial#: 3614
    public void imul(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        assemble0660((byte) 0x6B, destination, disp32, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>imm32</i>
     * Example disassembly syntax: {@code imul      eax, [rbx + 305419896], 0x12345678}
     */
    // Template#: 4375, Serial#: 3585
    public void imul(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source, int imm32) {
        assemble0661((byte) 0x69, destination, disp32, source, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>rel32</i>, <i>imm32</i>
     * Example disassembly syntax: {@code imul      eax, [L1: +305419896], 0x12345678}
     */
    // Template#: 4376, Serial#: 3582
    public void rip_imul(AMD64GeneralRegister32 destination, int rel32, int imm32) {
        assemble0662((byte) 0x69, destination, rel32, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulq  }<i>destination</i>
     * Example disassembly syntax: {@code imulq     rax}
     */
    // Template#: 4377, Serial#: 3038
    public void imulq(AMD64GeneralRegister64 destination) {
        assemble0577((byte) 0xF7, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imul      rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 4378, Serial#: 11477
    public void imul(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0265((byte) 0xAF, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code imul      rax, rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 4379, Serial#: 3622
    public void imul(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0663((byte) 0x6B, destination, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code imul      rax, rbx[rsi * 4 + 18], 0x12345678}
     */
    // Template#: 4380, Serial#: 3593
    public void imul(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0664((byte) 0x69, destination, disp8, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code imul      rax, [rbx + 18]}
     */
    // Template#: 4381, Serial#: 11476
    public void imul(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0266((byte) 0xAF, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code imul      rax, [rbx + 18], 0x12}
     */
    // Template#: 4382, Serial#: 3621
    public void imul(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        assemble0665((byte) 0x6B, destination, disp8, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>imm32</i>
     * Example disassembly syntax: {@code imul      rax, [rbx + 18], 0x12345678}
     */
    // Template#: 4383, Serial#: 3592
    public void imul(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source, int imm32) {
        assemble0666((byte) 0x69, destination, disp8, source, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imul      rax, rbx[rsi * 4]}
     */
    // Template#: 4384, Serial#: 11473
    public void imul(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0267((byte) 0xAF, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code imul      rax, rbx[rsi * 4], 0x12}
     */
    // Template#: 4385, Serial#: 3618
    public void imul(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0667((byte) 0x6B, destination, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code imul      rax, rbx[rsi * 4], 0x12345678}
     */
    // Template#: 4386, Serial#: 3589
    public void imul(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0668((byte) 0x69, destination, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code imul      rax, rax}
     */
    // Template#: 4387, Serial#: 11480
    public void imul(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0268((byte) 0xAF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code imul      rax, rax, 0x12}
     */
    // Template#: 4388, Serial#: 3625
    public void imul(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source, byte imm8) {
        assemble0669((byte) 0x6B, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>source</i>, <i>imm32</i>
     * Example disassembly syntax: {@code imul      rax, rax, 0x12345678}
     */
    // Template#: 4389, Serial#: 3596
    public void imul(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source, int imm32) {
        assemble0670((byte) 0x69, destination, source, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code imul      rax, [rbx]}
     */
    // Template#: 4390, Serial#: 11472
    public void imul(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0269((byte) 0xAF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code imul      rax, [rbx], 0x12}
     */
    // Template#: 4391, Serial#: 3617
    public void imul(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source, byte imm8) {
        assemble0671((byte) 0x6B, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>source</i>, <i>imm32</i>
     * Example disassembly syntax: {@code imul      rax, [rbx], 0x12345678}
     */
    // Template#: 4392, Serial#: 3588
    public void imul(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source, int imm32) {
        assemble0672((byte) 0x69, destination, source, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code imul      rax, [L1: +305419896]}
     */
    // Template#: 4393, Serial#: 11475
    public void rip_imul(AMD64GeneralRegister64 destination, int rel32) {
        assemble0270((byte) 0xAF, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code imul      rax, [L1: +305419896], 0x12}
     */
    // Template#: 4394, Serial#: 3620
    public void rip_imul(AMD64GeneralRegister64 destination, int rel32, byte imm8) {
        assemble0673((byte) 0x6B, destination, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imul      rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4395, Serial#: 11479
    public void imul(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0271((byte) 0xAF, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code imul      rax, rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 4396, Serial#: 3624
    public void imul(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0674((byte) 0x6B, destination, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code imul      rax, rbx[rsi * 4 + 305419896], 0x12345678}
     */
    // Template#: 4397, Serial#: 3595
    public void imul(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0675((byte) 0x69, destination, disp32, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imul      rax, 0x12345678[rsi * 4]}
     */
    // Template#: 4398, Serial#: 11474
    public void m_imul(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0272((byte) 0xAF, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code imul      rax, 0x12345678[rsi * 4], 0x12}
     */
    // Template#: 4399, Serial#: 3619
    public void m_imul(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0676((byte) 0x6B, destination, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code imul      rax, 0x12345678[rsi * 4], 0x12345678}
     */
    // Template#: 4400, Serial#: 3590
    public void m_imul(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0677((byte) 0x69, destination, m32, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code imul      rax, [rbx + 305419896]}
     */
    // Template#: 4401, Serial#: 11478
    public void imul(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0273((byte) 0xAF, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code imul      rax, [rbx + 305419896], 0x12}
     */
    // Template#: 4402, Serial#: 3623
    public void imul(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        assemble0678((byte) 0x6B, destination, disp32, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>imm32</i>
     * Example disassembly syntax: {@code imul      rax, [rbx + 305419896], 0x12345678}
     */
    // Template#: 4403, Serial#: 3594
    public void imul(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source, int imm32) {
        assemble0679((byte) 0x69, destination, disp32, source, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code imul  }<i>destination</i>, <i>rel32</i>, <i>imm32</i>
     * Example disassembly syntax: {@code imul      rax, [L1: +305419896], 0x12345678}
     */
    // Template#: 4404, Serial#: 3591
    public void rip_imul(AMD64GeneralRegister64 destination, int rel32, int imm32) {
        assemble0680((byte) 0x69, destination, rel32, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulb  }<i>destination</i>
     * Example disassembly syntax: {@code imulb     al, al}
     */
    // Template#: 4405, Serial#: 2750
    public void imulb___AL(AMD64GeneralRegister8 destination) {
        assemble0578((byte) 0xF6, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulb  }<i>destination</i>
     * Example disassembly syntax: {@code imulb     al, al}
     */
    // Template#: 4406, Serial#: 2822
    public void imulb___AL_r2822(AMD64GeneralRegister8 destination) {
        assemble0579((byte) 0xF6, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulb  }<i>destination</i>
     * Example disassembly syntax: {@code imulb     al, al}
     */
    // Template#: 4407, Serial#: 2894
    public void imulb___AL_r2894(AMD64GeneralRegister8 destination) {
        assemble0580((byte) 0xF6, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulb  }<i>destination</i>
     * Example disassembly syntax: {@code imulb     [rbx], al}
     */
    // Template#: 4408, Serial#: 2701
    public void imulb___AL(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xF6, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulb  }<i>destination</i>
     * Example disassembly syntax: {@code imulb     [rbx], al}
     */
    // Template#: 4409, Serial#: 2773
    public void imulb___AL_r2773(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xF6, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulb  }<i>destination</i>
     * Example disassembly syntax: {@code imulb     [rbx], al}
     */
    // Template#: 4410, Serial#: 2845
    public void imulb___AL_r2845(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xF6, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code imull  }<i>destination</i>
     * Example disassembly syntax: {@code imull     [rbx]}
     */
    // Template#: 4411, Serial#: 2917
    public void imull(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xF7, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulq  }<i>destination</i>
     * Example disassembly syntax: {@code imulq     [rbx]}
     */
    // Template#: 4412, Serial#: 2989
    public void imulq(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xF7, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulw  }<i>destination</i>
     * Example disassembly syntax: {@code imulw     [rbx]}
     */
    // Template#: 4413, Serial#: 3061
    public void imulw(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xF7, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulb  }<i>rel32</i>
     * Example disassembly syntax: {@code imulb     [L1: +305419896], al}
     */
    // Template#: 4414, Serial#: 2704
    public void rip_imulb___AL(int rel32) {
        assemble0341((byte) 0xF6, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulb  }<i>rel32</i>
     * Example disassembly syntax: {@code imulb     [L1: +305419896], al}
     */
    // Template#: 4415, Serial#: 2776
    public void rip_imulb___AL_r2776(int rel32) {
        assemble0582((byte) 0xF6, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulb  }<i>rel32</i>
     * Example disassembly syntax: {@code imulb     [L1: +305419896], al}
     */
    // Template#: 4416, Serial#: 2848
    public void rip_imulb___AL_r2848(int rel32) {
        assemble0342((byte) 0xF6, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code imull  }<i>rel32</i>
     * Example disassembly syntax: {@code imull     [L1: +305419896]}
     */
    // Template#: 4417, Serial#: 2920
    public void rip_imull(int rel32) {
        assemble0341((byte) 0xF7, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulq  }<i>rel32</i>
     * Example disassembly syntax: {@code imulq     [L1: +305419896]}
     */
    // Template#: 4418, Serial#: 2992
    public void rip_imulq(int rel32) {
        assemble0582((byte) 0xF7, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulw  }<i>rel32</i>
     * Example disassembly syntax: {@code imulw     [L1: +305419896]}
     */
    // Template#: 4419, Serial#: 3064
    public void rip_imulw(int rel32) {
        assemble0342((byte) 0xF7, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imulb     rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 4420, Serial#: 2740
    public void imulb___AL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xF6, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imulb     rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 4421, Serial#: 2812
    public void imulb___AL_r2812(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xF6, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imulb     rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 4422, Serial#: 2884
    public void imulb___AL_r2884(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xF6, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imull  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imull     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4423, Serial#: 2956
    public void imull(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xF7, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imulq     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4424, Serial#: 3028
    public void imulq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xF7, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imulw     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4425, Serial#: 3100
    public void imulw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xF7, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imulb     0x12345678[rsi * 4], al}
     */
    // Template#: 4426, Serial#: 2703
    public void m_imulb___AL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xF6, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imulb     0x12345678[rsi * 4], al}
     */
    // Template#: 4427, Serial#: 2775
    public void m_imulb___AL_r2775(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xF6, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imulb     0x12345678[rsi * 4], al}
     */
    // Template#: 4428, Serial#: 2847
    public void m_imulb___AL_r2847(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xF6, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imull  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imull     0x12345678[rsi * 4]}
     */
    // Template#: 4429, Serial#: 2919
    public void m_imull(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xF7, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imulq     0x12345678[rsi * 4]}
     */
    // Template#: 4430, Serial#: 2991
    public void m_imulq(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xF7, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code imulw     0x12345678[rsi * 4]}
     */
    // Template#: 4431, Serial#: 3063
    public void m_imulw(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xF7, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code imulb     [rbx + 305419896], al}
     */
    // Template#: 4432, Serial#: 2739
    public void imulb___AL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xF6, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code imulb     [rbx + 305419896], al}
     */
    // Template#: 4433, Serial#: 2811
    public void imulb___AL_r2811(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xF6, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code imulb     [rbx + 305419896], al}
     */
    // Template#: 4434, Serial#: 2883
    public void imulb___AL_r2883(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xF6, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code imull  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code imull     [rbx + 305419896]}
     */
    // Template#: 4435, Serial#: 2955
    public void imull(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xF7, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code imulq     [rbx + 305419896]}
     */
    // Template#: 4436, Serial#: 3027
    public void imulq(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xF7, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code imulw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code imulw     [rbx + 305419896]}
     */
    // Template#: 4437, Serial#: 3099
    public void imulw(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xF7, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code in  }
     * Example disassembly syntax: {@code in        al, dx}
     */
    // Template#: 4438, Serial#: 5291
    public void in_AL_DX() {
        assemble0208((byte) 0xEC);
    }

    /**
     * Pseudo-external assembler syntax: {@code in  }
     * Example disassembly syntax: {@code in        al, dx}
     */
    // Template#: 4439, Serial#: 5292
    public void in_AL_DX_r5292() {
        assemble0209((byte) 0xEC);
    }

    /**
     * Pseudo-external assembler syntax: {@code in  }
     * Example disassembly syntax: {@code in        al, dx}
     */
    // Template#: 4440, Serial#: 5293
    public void in_AL_DX_r5293() {
        assemble0210((byte) 0xEC);
    }

    /**
     * Pseudo-external assembler syntax: {@code in  }
     * Example disassembly syntax: {@code in        eax, dx}
     */
    // Template#: 4441, Serial#: 5294
    public void in_EAX_DX() {
        assemble0208((byte) 0xED);
    }

    /**
     * Pseudo-external assembler syntax: {@code in  }
     * Example disassembly syntax: {@code in        rax, dx}
     */
    // Template#: 4442, Serial#: 5295
    public void in_RAX_DX() {
        assemble0209((byte) 0xED);
    }

    /**
     * Pseudo-external assembler syntax: {@code in  }
     * Example disassembly syntax: {@code in        ax, dx}
     */
    // Template#: 4443, Serial#: 5296
    public void in_AX_DX() {
        assemble0210((byte) 0xED);
    }

    /**
     * Pseudo-external assembler syntax: {@code in  }<i>imm8</i>
     * Example disassembly syntax: {@code in        al, 0x12}
     */
    // Template#: 4444, Serial#: 2651
    public void in_AL(byte imm8) {
        assemble0001((byte) 0xE4, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code in  }<i>imm8</i>
     * Example disassembly syntax: {@code in        al, 0x12}
     */
    // Template#: 4445, Serial#: 2652
    public void in_AL_r2652(byte imm8) {
        assemble0002((byte) 0xE4, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code in  }<i>imm8</i>
     * Example disassembly syntax: {@code in        al, 0x12}
     */
    // Template#: 4446, Serial#: 2653
    public void in_AL_r2653(byte imm8) {
        assemble0003((byte) 0xE4, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code in  }<i>imm8</i>
     * Example disassembly syntax: {@code in        eax, 0x12}
     */
    // Template#: 4447, Serial#: 2654
    public void in_EAX(byte imm8) {
        assemble0001((byte) 0xE5, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code in  }<i>imm8</i>
     * Example disassembly syntax: {@code in        rax, 0x12}
     */
    // Template#: 4448, Serial#: 2655
    public void in_RAX(byte imm8) {
        assemble0002((byte) 0xE5, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code in  }<i>imm8</i>
     * Example disassembly syntax: {@code in        ax, 0x12}
     */
    // Template#: 4449, Serial#: 2656
    public void in_AX(byte imm8) {
        assemble0003((byte) 0xE5, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code incb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code incb      rbx[rsi * 4 + 18]}
     */
    // Template#: 4450, Serial#: 5330
    public void incb(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xFE, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code incb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code incb      rbx[rsi * 4 + 18]}
     */
    // Template#: 4451, Serial#: 5348
    public void incb_r5348(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xFE, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code incb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code incb      rbx[rsi * 4 + 18]}
     */
    // Template#: 4452, Serial#: 5366
    public void incb_r5366(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xFE, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code incl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code incl      rbx[rsi * 4 + 18]}
     */
    // Template#: 4453, Serial#: 5384
    public void incl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xFF, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code incq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code incq      rbx[rsi * 4 + 18]}
     */
    // Template#: 4454, Serial#: 5402
    public void incq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xFF, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code incw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code incw      rbx[rsi * 4 + 18]}
     */
    // Template#: 4455, Serial#: 5420
    public void incw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xFF, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code incb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code incb      [rbx + 18]}
     */
    // Template#: 4456, Serial#: 5329
    public void incb(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xFE, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code incb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code incb      [rbx + 18]}
     */
    // Template#: 4457, Serial#: 5347
    public void incb_r5347(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xFE, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code incb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code incb      [rbx + 18]}
     */
    // Template#: 4458, Serial#: 5365
    public void incb_r5365(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xFE, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code incl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code incl      [rbx + 18]}
     */
    // Template#: 4459, Serial#: 5383
    public void incl(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xFF, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code incq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code incq      [rbx + 18]}
     */
    // Template#: 4460, Serial#: 5401
    public void incq(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xFF, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code incw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code incw      [rbx + 18]}
     */
    // Template#: 4461, Serial#: 5419
    public void incw(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xFF, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code incb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code incb      rbx[rsi * 4]}
     */
    // Template#: 4462, Serial#: 5322
    public void incb(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xFE, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code incb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code incb      rbx[rsi * 4]}
     */
    // Template#: 4463, Serial#: 5340
    public void incb_r5340(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xFE, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code incb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code incb      rbx[rsi * 4]}
     */
    // Template#: 4464, Serial#: 5358
    public void incb_r5358(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xFE, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code incl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code incl      rbx[rsi * 4]}
     */
    // Template#: 4465, Serial#: 5376
    public void incl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xFF, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code incq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code incq      rbx[rsi * 4]}
     */
    // Template#: 4466, Serial#: 5394
    public void incq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xFF, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code incw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code incw      rbx[rsi * 4]}
     */
    // Template#: 4467, Serial#: 5412
    public void incw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xFF, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code incw  }<i>destination</i>
     * Example disassembly syntax: {@code incw      ax}
     */
    // Template#: 4468, Serial#: 5427
    public void incw(AMD64GeneralRegister16 destination) {
        assemble0336((byte) 0xFF, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code incl  }<i>destination</i>
     * Example disassembly syntax: {@code incl      eax}
     */
    // Template#: 4469, Serial#: 5391
    public void incl(AMD64GeneralRegister32 destination) {
        assemble0576((byte) 0xFF, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code incq  }<i>destination</i>
     * Example disassembly syntax: {@code incq      rax}
     */
    // Template#: 4470, Serial#: 5409
    public void incq(AMD64GeneralRegister64 destination) {
        assemble0577((byte) 0xFF, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code incb  }<i>destination</i>
     * Example disassembly syntax: {@code incb      al}
     */
    // Template#: 4471, Serial#: 5337
    public void incb(AMD64GeneralRegister8 destination) {
        assemble0578((byte) 0xFE, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code incb  }<i>destination</i>
     * Example disassembly syntax: {@code incb      al}
     */
    // Template#: 4472, Serial#: 5355
    public void incb_r5355(AMD64GeneralRegister8 destination) {
        assemble0579((byte) 0xFE, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code incb  }<i>destination</i>
     * Example disassembly syntax: {@code incb      al}
     */
    // Template#: 4473, Serial#: 5373
    public void incb_r5373(AMD64GeneralRegister8 destination) {
        assemble0580((byte) 0xFE, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code incb  }<i>destination</i>
     * Example disassembly syntax: {@code incb      [rbx]}
     */
    // Template#: 4474, Serial#: 5321
    public void incb(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xFE, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code incb  }<i>destination</i>
     * Example disassembly syntax: {@code incb      [rbx]}
     */
    // Template#: 4475, Serial#: 5339
    public void incb_r5339(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xFE, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code incb  }<i>destination</i>
     * Example disassembly syntax: {@code incb      [rbx]}
     */
    // Template#: 4476, Serial#: 5357
    public void incb_r5357(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xFE, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code incl  }<i>destination</i>
     * Example disassembly syntax: {@code incl      [rbx]}
     */
    // Template#: 4477, Serial#: 5375
    public void incl(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xFF, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code incq  }<i>destination</i>
     * Example disassembly syntax: {@code incq      [rbx]}
     */
    // Template#: 4478, Serial#: 5393
    public void incq(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xFF, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code incw  }<i>destination</i>
     * Example disassembly syntax: {@code incw      [rbx]}
     */
    // Template#: 4479, Serial#: 5411
    public void incw(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xFF, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code incb  }<i>rel32</i>
     * Example disassembly syntax: {@code incb      [L1: +305419896]}
     */
    // Template#: 4480, Serial#: 5324
    public void rip_incb(int rel32) {
        assemble0341((byte) 0xFE, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code incb  }<i>rel32</i>
     * Example disassembly syntax: {@code incb      [L1: +305419896]}
     */
    // Template#: 4481, Serial#: 5342
    public void rip_incb_r5342(int rel32) {
        assemble0582((byte) 0xFE, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code incb  }<i>rel32</i>
     * Example disassembly syntax: {@code incb      [L1: +305419896]}
     */
    // Template#: 4482, Serial#: 5360
    public void rip_incb_r5360(int rel32) {
        assemble0342((byte) 0xFE, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code incl  }<i>rel32</i>
     * Example disassembly syntax: {@code incl      [L1: +305419896]}
     */
    // Template#: 4483, Serial#: 5378
    public void rip_incl(int rel32) {
        assemble0341((byte) 0xFF, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code incq  }<i>rel32</i>
     * Example disassembly syntax: {@code incq      [L1: +305419896]}
     */
    // Template#: 4484, Serial#: 5396
    public void rip_incq(int rel32) {
        assemble0582((byte) 0xFF, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code incw  }<i>rel32</i>
     * Example disassembly syntax: {@code incw      [L1: +305419896]}
     */
    // Template#: 4485, Serial#: 5414
    public void rip_incw(int rel32) {
        assemble0342((byte) 0xFF, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code incb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code incb      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4486, Serial#: 5334
    public void incb(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xFE, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code incb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code incb      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4487, Serial#: 5352
    public void incb_r5352(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xFE, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code incb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code incb      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4488, Serial#: 5370
    public void incb_r5370(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xFE, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code incl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code incl      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4489, Serial#: 5388
    public void incl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xFF, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code incq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code incq      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4490, Serial#: 5406
    public void incq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xFF, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code incw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code incw      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4491, Serial#: 5424
    public void incw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xFF, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code incb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code incb      0x12345678[rsi * 4]}
     */
    // Template#: 4492, Serial#: 5323
    public void m_incb(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xFE, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code incb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code incb      0x12345678[rsi * 4]}
     */
    // Template#: 4493, Serial#: 5341
    public void m_incb_r5341(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xFE, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code incb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code incb      0x12345678[rsi * 4]}
     */
    // Template#: 4494, Serial#: 5359
    public void m_incb_r5359(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xFE, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code incl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code incl      0x12345678[rsi * 4]}
     */
    // Template#: 4495, Serial#: 5377
    public void m_incl(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xFF, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code incq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code incq      0x12345678[rsi * 4]}
     */
    // Template#: 4496, Serial#: 5395
    public void m_incq(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xFF, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code incw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code incw      0x12345678[rsi * 4]}
     */
    // Template#: 4497, Serial#: 5413
    public void m_incw(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xFF, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code incb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code incb      [rbx + 305419896]}
     */
    // Template#: 4498, Serial#: 5333
    public void incb(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xFE, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code incb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code incb      [rbx + 305419896]}
     */
    // Template#: 4499, Serial#: 5351
    public void incb_r5351(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xFE, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code incb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code incb      [rbx + 305419896]}
     */
    // Template#: 4500, Serial#: 5369
    public void incb_r5369(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xFE, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code incl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code incl      [rbx + 305419896]}
     */
    // Template#: 4501, Serial#: 5387
    public void incl(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xFF, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code incq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code incq      [rbx + 305419896]}
     */
    // Template#: 4502, Serial#: 5405
    public void incq(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xFF, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code incw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code incw      [rbx + 305419896]}
     */
    // Template#: 4503, Serial#: 5423
    public void incw(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xFF, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code insb  }
     * Example disassembly syntax: {@code insb    }
     */
    // Template#: 4504, Serial#: 3635
    public void insb() {
        assemble0208((byte) 0x6C);
    }

    /**
     * Pseudo-external assembler syntax: {@code insb  }
     * Example disassembly syntax: {@code insb    }
     */
    // Template#: 4505, Serial#: 3636
    public void insb_r3636() {
        assemble0209((byte) 0x6C);
    }

    /**
     * Pseudo-external assembler syntax: {@code insb  }
     * Example disassembly syntax: {@code insb    }
     */
    // Template#: 4506, Serial#: 3637
    public void insb_r3637() {
        assemble0210((byte) 0x6C);
    }

    /**
     * Pseudo-external assembler syntax: {@code insl  }
     * Example disassembly syntax: {@code insl    }
     */
    // Template#: 4507, Serial#: 3638
    public void insl() {
        assemble0208((byte) 0x6D);
    }

    /**
     * Pseudo-external assembler syntax: {@code insw  }
     * Example disassembly syntax: {@code insw    }
     */
    // Template#: 4508, Serial#: 3639
    public void insw() {
        assemble0210((byte) 0x6D);
    }

    /**
     * Pseudo-external assembler syntax: {@code int  }
     * Example disassembly syntax: {@code int       0x1}
     */
    // Template#: 4509, Serial#: 2666
    public void int_1() {
        assemble0208((byte) 0xF1);
    }

    /**
     * Pseudo-external assembler syntax: {@code int  }
     * Example disassembly syntax: {@code int       0x1}
     */
    // Template#: 4510, Serial#: 2667
    public void int_1_r2667() {
        assemble0209((byte) 0xF1);
    }

    /**
     * Pseudo-external assembler syntax: {@code int  }
     * Example disassembly syntax: {@code int       0x1}
     */
    // Template#: 4511, Serial#: 2668
    public void int_1_r2668() {
        assemble0210((byte) 0xF1);
    }

    /**
     * Pseudo-external assembler syntax: {@code int  }
     * Example disassembly syntax: {@code int       0x3}
     */
    // Template#: 4512, Serial#: 3911
    public void int_3() {
        assemble0208((byte) 0xCC);
    }

    /**
     * Pseudo-external assembler syntax: {@code int  }
     * Example disassembly syntax: {@code int       0x3}
     */
    // Template#: 4513, Serial#: 3912
    public void int_3_r3912() {
        assemble0209((byte) 0xCC);
    }

    /**
     * Pseudo-external assembler syntax: {@code int  }
     * Example disassembly syntax: {@code int       0x3}
     */
    // Template#: 4514, Serial#: 3913
    public void int_3_r3913() {
        assemble0210((byte) 0xCC);
    }

    /**
     * Pseudo-external assembler syntax: {@code int  }<i>imm8</i>
     * Example disassembly syntax: {@code int       0x12}
     */
    // Template#: 4515, Serial#: 3914
    public void intb(byte imm8) {
        assemble0001((byte) 0xCD, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code int  }<i>imm8</i>
     * Example disassembly syntax: {@code int       0x12}
     */
    // Template#: 4516, Serial#: 3915
    public void intb_r3915(byte imm8) {
        assemble0002((byte) 0xCD, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code int  }<i>imm8</i>
     * Example disassembly syntax: {@code int       0x12}
     */
    // Template#: 4517, Serial#: 3916
    public void intb_r3916(byte imm8) {
        assemble0003((byte) 0xCD, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code invd  }
     * Example disassembly syntax: {@code invd    }
     */
    // Template#: 4518, Serial#: 9117
    public void invd() {
        assemble0373((byte) 0x08);
    }

    /**
     * Pseudo-external assembler syntax: {@code invd  }
     * Example disassembly syntax: {@code invd    }
     */
    // Template#: 4519, Serial#: 9118
    public void invd_r9118() {
        assemble0374((byte) 0x08);
    }

    /**
     * Pseudo-external assembler syntax: {@code invd  }
     * Example disassembly syntax: {@code invd    }
     */
    // Template#: 4520, Serial#: 9119
    public void invd_r9119() {
        assemble0375((byte) 0x08);
    }

    /**
     * Pseudo-external assembler syntax: {@code invlpg  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code invlpg    rbx[rsi * 4 + 18]}
     */
    // Template#: 4521, Serial#: 5686
    public void invlpg(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0349((byte) 0x01, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code invlpg  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code invlpg    rbx[rsi * 4 + 18]}
     */
    // Template#: 4522, Serial#: 5743
    public void invlpg_r5743(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0350((byte) 0x01, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code invlpg  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code invlpg    rbx[rsi * 4 + 18]}
     */
    // Template#: 4523, Serial#: 5800
    public void invlpg_r5800(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0351((byte) 0x01, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code invlpg  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code invlpg    [rbx + 18]}
     */
    // Template#: 4524, Serial#: 5685
    public void invlpg(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0352((byte) 0x01, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code invlpg  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code invlpg    [rbx + 18]}
     */
    // Template#: 4525, Serial#: 5742
    public void invlpg_r5742(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0353((byte) 0x01, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code invlpg  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code invlpg    [rbx + 18]}
     */
    // Template#: 4526, Serial#: 5799
    public void invlpg_r5799(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0354((byte) 0x01, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code invlpg  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code invlpg    rbx[rsi * 4]}
     */
    // Template#: 4527, Serial#: 5670
    public void invlpg(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0355((byte) 0x01, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code invlpg  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code invlpg    rbx[rsi * 4]}
     */
    // Template#: 4528, Serial#: 5727
    public void invlpg_r5727(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0356((byte) 0x01, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code invlpg  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code invlpg    rbx[rsi * 4]}
     */
    // Template#: 4529, Serial#: 5784
    public void invlpg_r5784(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0357((byte) 0x01, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code invlpg  }<i>destination</i>
     * Example disassembly syntax: {@code invlpg    [rbx]}
     */
    // Template#: 4530, Serial#: 5669
    public void invlpg(AMD64IndirectRegister64 destination) {
        assemble0358((byte) 0x01, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code invlpg  }<i>destination</i>
     * Example disassembly syntax: {@code invlpg    [rbx]}
     */
    // Template#: 4531, Serial#: 5726
    public void invlpg_r5726(AMD64IndirectRegister64 destination) {
        assemble0359((byte) 0x01, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code invlpg  }<i>destination</i>
     * Example disassembly syntax: {@code invlpg    [rbx]}
     */
    // Template#: 4532, Serial#: 5783
    public void invlpg_r5783(AMD64IndirectRegister64 destination) {
        assemble0360((byte) 0x01, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code invlpg  }<i>rel32</i>
     * Example disassembly syntax: {@code invlpg    [L1: +305419896]}
     */
    // Template#: 4533, Serial#: 5672
    public void rip_invlpg(int rel32) {
        assemble0361((byte) 0x01, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code invlpg  }<i>rel32</i>
     * Example disassembly syntax: {@code invlpg    [L1: +305419896]}
     */
    // Template#: 4534, Serial#: 5729
    public void rip_invlpg_r5729(int rel32) {
        assemble0362((byte) 0x01, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code invlpg  }<i>rel32</i>
     * Example disassembly syntax: {@code invlpg    [L1: +305419896]}
     */
    // Template#: 4535, Serial#: 5786
    public void rip_invlpg_r5786(int rel32) {
        assemble0363((byte) 0x01, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code invlpg  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code invlpg    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4536, Serial#: 5700
    public void invlpg(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0364((byte) 0x01, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code invlpg  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code invlpg    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4537, Serial#: 5757
    public void invlpg_r5757(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0365((byte) 0x01, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code invlpg  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code invlpg    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4538, Serial#: 5814
    public void invlpg_r5814(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0366((byte) 0x01, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code invlpg  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code invlpg    0x12345678[rsi * 4]}
     */
    // Template#: 4539, Serial#: 5671
    public void m_invlpg(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0367((byte) 0x01, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code invlpg  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code invlpg    0x12345678[rsi * 4]}
     */
    // Template#: 4540, Serial#: 5728
    public void m_invlpg_r5728(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0368((byte) 0x01, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code invlpg  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code invlpg    0x12345678[rsi * 4]}
     */
    // Template#: 4541, Serial#: 5785
    public void m_invlpg_r5785(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0369((byte) 0x01, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code invlpg  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code invlpg    [rbx + 305419896]}
     */
    // Template#: 4542, Serial#: 5699
    public void invlpg(int disp32, AMD64IndirectRegister64 destination) {
        assemble0370((byte) 0x01, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code invlpg  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code invlpg    [rbx + 305419896]}
     */
    // Template#: 4543, Serial#: 5756
    public void invlpg_r5756(int disp32, AMD64IndirectRegister64 destination) {
        assemble0371((byte) 0x01, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code invlpg  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code invlpg    [rbx + 305419896]}
     */
    // Template#: 4544, Serial#: 5813
    public void invlpg_r5813(int disp32, AMD64IndirectRegister64 destination) {
        assemble0372((byte) 0x01, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code iret  }
     * Example disassembly syntax: {@code iret    }
     */
    // Template#: 4545, Serial#: 3917
    public void iret() {
        assemble0208((byte) 0xCF);
    }

    /**
     * Pseudo-external assembler syntax: {@code iret  }
     * Example disassembly syntax: {@code iret    }
     */
    // Template#: 4546, Serial#: 3918
    public void iret_r3918() {
        assemble0209((byte) 0xCF);
    }

    /**
     * Pseudo-external assembler syntax: {@code iret  }
     * Example disassembly syntax: {@code iret    }
     */
    // Template#: 4547, Serial#: 3919
    public void iret_r3919() {
        assemble0210((byte) 0xCF);
    }

    /**
     * Pseudo-external assembler syntax: {@code jb  }<i>rel8</i>
     * Example disassembly syntax: {@code jb        L1: +18}
     */
    // Template#: 4548, Serial#: 491
    public void jb(byte rel8) {
        assemble0681((byte) 0x72, rel8);
    }

    /**
     * Pseudo-external assembler syntax: {@code jb  }<i>rel32</i>
     * Example disassembly syntax: {@code jb        L1: +305419896}
     */
    // Template#: 4549, Serial#: 7510
    public void jb(int rel32) {
        assemble0682((byte) 0x82, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code jbe  }<i>rel8</i>
     * Example disassembly syntax: {@code jbe       L1: +18}
     */
    // Template#: 4550, Serial#: 495
    public void jbe(byte rel8) {
        assemble0681((byte) 0x76, rel8);
    }

    /**
     * Pseudo-external assembler syntax: {@code jbe  }<i>rel32</i>
     * Example disassembly syntax: {@code jbe       L1: +305419896}
     */
    // Template#: 4551, Serial#: 7514
    public void jbe(int rel32) {
        assemble0682((byte) 0x86, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code jl  }<i>rel8</i>
     * Example disassembly syntax: {@code jl        L1: +18}
     */
    // Template#: 4552, Serial#: 3649
    public void jl(byte rel8) {
        assemble0681((byte) 0x7C, rel8);
    }

    /**
     * Pseudo-external assembler syntax: {@code jl  }<i>rel32</i>
     * Example disassembly syntax: {@code jl        L1: +305419896}
     */
    // Template#: 4553, Serial#: 11026
    public void jl(int rel32) {
        assemble0682((byte) 0x8C, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code jle  }<i>rel8</i>
     * Example disassembly syntax: {@code jle       L1: +18}
     */
    // Template#: 4554, Serial#: 3651
    public void jle(byte rel8) {
        assemble0681((byte) 0x7E, rel8);
    }

    /**
     * Pseudo-external assembler syntax: {@code jle  }<i>rel32</i>
     * Example disassembly syntax: {@code jle       L1: +305419896}
     */
    // Template#: 4555, Serial#: 11028
    public void jle(int rel32) {
        assemble0682((byte) 0x8E, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code jmp  }<i>rel8</i>
     * Example disassembly syntax: {@code jmp       L1: +18}
     */
    // Template#: 4556, Serial#: 5290
    public void jmp(byte rel8) {
        assemble0681((byte) 0xEB, rel8);
    }

    /**
     * Pseudo-external assembler syntax: {@code jmp  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code jmp       rbx[rsi * 4 + 18]}
     */
    // Template#: 4557, Serial#: 5444
    public void jmp(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xFF, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code jmp  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code jmp       rbx[rsi * 4 + 18]}
     */
    // Template#: 4558, Serial#: 5471
    public void jmp_r5471(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xFF, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code jmp  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code jmp       [rbx + 18]}
     */
    // Template#: 4559, Serial#: 5443
    public void jmp(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xFF, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code jmp  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code jmp       [rbx + 18]}
     */
    // Template#: 4560, Serial#: 5470
    public void jmp_r5470(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xFF, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code jmp  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code jmp       rbx[rsi * 4]}
     */
    // Template#: 4561, Serial#: 5434
    public void jmp(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xFF, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code jmp  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code jmp       rbx[rsi * 4]}
     */
    // Template#: 4562, Serial#: 5461
    public void jmp_r5461(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xFF, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code jmp  }<i>destination</i>
     * Example disassembly syntax: {@code jmp       ax}
     */
    // Template#: 4563, Serial#: 5481
    public void jmp(AMD64GeneralRegister16 destination) {
        assemble0336((byte) 0xFF, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code jmp  }<i>destination</i>
     * Example disassembly syntax: {@code jmp       rax}
     */
    // Template#: 4564, Serial#: 5454
    public void jmp(AMD64GeneralRegister64 destination) {
        assemble0337((byte) 0xFF, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code jmp  }<i>destination</i>
     * Example disassembly syntax: {@code jmp       [rbx]}
     */
    // Template#: 4565, Serial#: 5433
    public void jmp(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xFF, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code jmp  }<i>destination</i>
     * Example disassembly syntax: {@code jmp       [rbx]}
     */
    // Template#: 4566, Serial#: 5460
    public void jmp_r5460(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xFF, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code jmp  }<i>rel32</i>
     * Example disassembly syntax: {@code jmp       L1: +305419896}
     */
    // Template#: 4567, Serial#: 5289
    public void jmp(int rel32) {
        assemble0340((byte) 0xE9, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code jmp  }<i>rel32</i>
     * Example disassembly syntax: {@code jmp       [L1: +305419896]}
     */
    // Template#: 4568, Serial#: 5436
    public void rip_jmp(int rel32) {
        assemble0341((byte) 0xFF, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code jmp  }<i>rel32</i>
     * Example disassembly syntax: {@code jmp       [L1: +305419896]}
     */
    // Template#: 4569, Serial#: 5463
    public void rip_jmp_r5463(int rel32) {
        assemble0342((byte) 0xFF, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code jmp  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code jmp       rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4570, Serial#: 5450
    public void jmp(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xFF, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code jmp  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code jmp       rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4571, Serial#: 5477
    public void jmp_r5477(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xFF, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code jmp  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code jmp       0x12345678[rsi * 4]}
     */
    // Template#: 4572, Serial#: 5435
    public void m_jmp(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xFF, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code jmp  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code jmp       0x12345678[rsi * 4]}
     */
    // Template#: 4573, Serial#: 5462
    public void m_jmp_r5462(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xFF, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code jmp  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code jmp       [rbx + 305419896]}
     */
    // Template#: 4574, Serial#: 5449
    public void jmp(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xFF, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code jmp  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code jmp       [rbx + 305419896]}
     */
    // Template#: 4575, Serial#: 5476
    public void jmp_r5476(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xFF, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code jnb  }<i>rel8</i>
     * Example disassembly syntax: {@code jnb       L1: +18}
     */
    // Template#: 4576, Serial#: 492
    public void jnb(byte rel8) {
        assemble0681((byte) 0x73, rel8);
    }

    /**
     * Pseudo-external assembler syntax: {@code jnb  }<i>rel32</i>
     * Example disassembly syntax: {@code jnb       L1: +305419896}
     */
    // Template#: 4577, Serial#: 7511
    public void jnb(int rel32) {
        assemble0682((byte) 0x83, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code jnbe  }<i>rel8</i>
     * Example disassembly syntax: {@code jnbe      L1: +18}
     */
    // Template#: 4578, Serial#: 496
    public void jnbe(byte rel8) {
        assemble0681((byte) 0x77, rel8);
    }

    /**
     * Pseudo-external assembler syntax: {@code jnbe  }<i>rel32</i>
     * Example disassembly syntax: {@code jnbe      L1: +305419896}
     */
    // Template#: 4579, Serial#: 7515
    public void jnbe(int rel32) {
        assemble0682((byte) 0x87, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code jnl  }<i>rel8</i>
     * Example disassembly syntax: {@code jnl       L1: +18}
     */
    // Template#: 4580, Serial#: 3650
    public void jnl(byte rel8) {
        assemble0681((byte) 0x7D, rel8);
    }

    /**
     * Pseudo-external assembler syntax: {@code jnl  }<i>rel32</i>
     * Example disassembly syntax: {@code jnl       L1: +305419896}
     */
    // Template#: 4581, Serial#: 11027
    public void jnl(int rel32) {
        assemble0682((byte) 0x8D, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code jnle  }<i>rel8</i>
     * Example disassembly syntax: {@code jnle      L1: +18}
     */
    // Template#: 4582, Serial#: 3652
    public void jnle(byte rel8) {
        assemble0681((byte) 0x7F, rel8);
    }

    /**
     * Pseudo-external assembler syntax: {@code jnle  }<i>rel32</i>
     * Example disassembly syntax: {@code jnle      L1: +305419896}
     */
    // Template#: 4583, Serial#: 11029
    public void jnle(int rel32) {
        assemble0682((byte) 0x8F, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code jno  }<i>rel8</i>
     * Example disassembly syntax: {@code jno       L1: +18}
     */
    // Template#: 4584, Serial#: 490
    public void jno(byte rel8) {
        assemble0681((byte) 0x71, rel8);
    }

    /**
     * Pseudo-external assembler syntax: {@code jno  }<i>rel32</i>
     * Example disassembly syntax: {@code jno       L1: +305419896}
     */
    // Template#: 4585, Serial#: 7509
    public void jno(int rel32) {
        assemble0682((byte) 0x81, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code jnp  }<i>rel8</i>
     * Example disassembly syntax: {@code jnp       L1: +18}
     */
    // Template#: 4586, Serial#: 3648
    public void jnp(byte rel8) {
        assemble0681((byte) 0x7B, rel8);
    }

    /**
     * Pseudo-external assembler syntax: {@code jnp  }<i>rel32</i>
     * Example disassembly syntax: {@code jnp       L1: +305419896}
     */
    // Template#: 4587, Serial#: 11025
    public void jnp(int rel32) {
        assemble0682((byte) 0x8B, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code jns  }<i>rel8</i>
     * Example disassembly syntax: {@code jns       L1: +18}
     */
    // Template#: 4588, Serial#: 3646
    public void jns(byte rel8) {
        assemble0681((byte) 0x79, rel8);
    }

    /**
     * Pseudo-external assembler syntax: {@code jns  }<i>rel32</i>
     * Example disassembly syntax: {@code jns       L1: +305419896}
     */
    // Template#: 4589, Serial#: 11023
    public void jns(int rel32) {
        assemble0682((byte) 0x89, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code jnz  }<i>rel8</i>
     * Example disassembly syntax: {@code jnz       L1: +18}
     */
    // Template#: 4590, Serial#: 494
    public void jnz(byte rel8) {
        assemble0681((byte) 0x75, rel8);
    }

    /**
     * Pseudo-external assembler syntax: {@code jnz  }<i>rel32</i>
     * Example disassembly syntax: {@code jnz       L1: +305419896}
     */
    // Template#: 4591, Serial#: 7513
    public void jnz(int rel32) {
        assemble0682((byte) 0x85, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code jo  }<i>rel8</i>
     * Example disassembly syntax: {@code jo        L1: +18}
     */
    // Template#: 4592, Serial#: 489
    public void jo(byte rel8) {
        assemble0681((byte) 0x70, rel8);
    }

    /**
     * Pseudo-external assembler syntax: {@code jo  }<i>rel32</i>
     * Example disassembly syntax: {@code jo        L1: +305419896}
     */
    // Template#: 4593, Serial#: 7508
    public void jo(int rel32) {
        assemble0682((byte) 0x80, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code jp  }<i>rel8</i>
     * Example disassembly syntax: {@code jp        L1: +18}
     */
    // Template#: 4594, Serial#: 3647
    public void jp(byte rel8) {
        assemble0681((byte) 0x7A, rel8);
    }

    /**
     * Pseudo-external assembler syntax: {@code jp  }<i>rel32</i>
     * Example disassembly syntax: {@code jp        L1: +305419896}
     */
    // Template#: 4595, Serial#: 11024
    public void jp(int rel32) {
        assemble0682((byte) 0x8A, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code jrcxz  }<i>rel8</i>
     * Example disassembly syntax: {@code jrcxz     L1: +18}
     */
    // Template#: 4596, Serial#: 2649
    public void jrcxz(byte rel8) {
        assemble0681((byte) 0xE3, rel8);
    }

    /**
     * Pseudo-external assembler syntax: {@code jrcxz  }<i>rel8</i>
     * Example disassembly syntax: {@code jrcxz     L1: +18}
     */
    // Template#: 4597, Serial#: 2650
    public void jrcxz_r2650(byte rel8) {
        assemble0683((byte) 0xE3, rel8);
    }

    /**
     * Pseudo-external assembler syntax: {@code js  }<i>rel8</i>
     * Example disassembly syntax: {@code js        L1: +18}
     */
    // Template#: 4598, Serial#: 3645
    public void js(byte rel8) {
        assemble0681((byte) 0x78, rel8);
    }

    /**
     * Pseudo-external assembler syntax: {@code js  }<i>rel32</i>
     * Example disassembly syntax: {@code js        L1: +305419896}
     */
    // Template#: 4599, Serial#: 11022
    public void js(int rel32) {
        assemble0682((byte) 0x88, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code jz  }<i>rel8</i>
     * Example disassembly syntax: {@code jz        L1: +18}
     */
    // Template#: 4600, Serial#: 493
    public void jz(byte rel8) {
        assemble0681((byte) 0x74, rel8);
    }

    /**
     * Pseudo-external assembler syntax: {@code jz  }<i>rel32</i>
     * Example disassembly syntax: {@code jz        L1: +305419896}
     */
    // Template#: 4601, Serial#: 7512
    public void jz(int rel32) {
        assemble0682((byte) 0x84, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code lahf  }
     * Example disassembly syntax: {@code lahf    }
     */
    // Template#: 4602, Serial#: 3871
    public void lahf() {
        assemble0208((byte) 0x9F);
    }

    /**
     * Pseudo-external assembler syntax: {@code lahf  }
     * Example disassembly syntax: {@code lahf    }
     */
    // Template#: 4603, Serial#: 3872
    public void lahf_r3872() {
        assemble0209((byte) 0x9F);
    }

    /**
     * Pseudo-external assembler syntax: {@code lahf  }
     * Example disassembly syntax: {@code lahf    }
     */
    // Template#: 4604, Serial#: 3873
    public void lahf_r3873() {
        assemble0210((byte) 0x9F);
    }

    /**
     * Pseudo-external assembler syntax: {@code lar  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lar       ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 4605, Serial#: 5845
    public void lar(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0247((byte) 0x02, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lar  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code lar       ax, [rbx + 18]}
     */
    // Template#: 4606, Serial#: 5844
    public void lar(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0248((byte) 0x02, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lar  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lar       ax, rbx[rsi * 4]}
     */
    // Template#: 4607, Serial#: 5841
    public void lar(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0249((byte) 0x02, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lar  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code lar       ax, ax}
     */
    // Template#: 4608, Serial#: 5848
    public void lar(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0250((byte) 0x02, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lar  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code lar       ax, [rbx]}
     */
    // Template#: 4609, Serial#: 5840
    public void lar(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0251((byte) 0x02, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lar  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code lar       ax, [L1: +305419896]}
     */
    // Template#: 4610, Serial#: 5843
    public void rip_lar(AMD64GeneralRegister16 destination, int rel32) {
        assemble0252((byte) 0x02, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code lar  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lar       ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4611, Serial#: 5847
    public void lar(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0253((byte) 0x02, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lar  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lar       ax, 0x12345678[rsi * 4]}
     */
    // Template#: 4612, Serial#: 5842
    public void m_lar(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0254((byte) 0x02, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lar  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code lar       ax, [rbx + 305419896]}
     */
    // Template#: 4613, Serial#: 5846
    public void lar(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0255((byte) 0x02, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lar  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lar       eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 4614, Serial#: 5827
    public void lar(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0256((byte) 0x02, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lar  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code lar       eax, [rbx + 18]}
     */
    // Template#: 4615, Serial#: 5826
    public void lar(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0257((byte) 0x02, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lar  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lar       eax, rbx[rsi * 4]}
     */
    // Template#: 4616, Serial#: 5823
    public void lar(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0258((byte) 0x02, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lar  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code lar       eax, eax}
     */
    // Template#: 4617, Serial#: 5830
    public void lar(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0259((byte) 0x02, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lar  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code lar       eax, [rbx]}
     */
    // Template#: 4618, Serial#: 5822
    public void lar(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0260((byte) 0x02, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lar  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code lar       eax, [L1: +305419896]}
     */
    // Template#: 4619, Serial#: 5825
    public void rip_lar(AMD64GeneralRegister32 destination, int rel32) {
        assemble0261((byte) 0x02, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code lar  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lar       eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4620, Serial#: 5829
    public void lar(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0262((byte) 0x02, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lar  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lar       eax, 0x12345678[rsi * 4]}
     */
    // Template#: 4621, Serial#: 5824
    public void m_lar(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0263((byte) 0x02, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lar  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code lar       eax, [rbx + 305419896]}
     */
    // Template#: 4622, Serial#: 5828
    public void lar(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0264((byte) 0x02, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lar  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lar       rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 4623, Serial#: 5836
    public void lar(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0265((byte) 0x02, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lar  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code lar       rax, [rbx + 18]}
     */
    // Template#: 4624, Serial#: 5835
    public void lar(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0266((byte) 0x02, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lar  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lar       rax, rbx[rsi * 4]}
     */
    // Template#: 4625, Serial#: 5832
    public void lar(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0267((byte) 0x02, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lar  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code lar       rax, rax}
     */
    // Template#: 4626, Serial#: 5839
    public void lar(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0268((byte) 0x02, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lar  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code lar       rax, [rbx]}
     */
    // Template#: 4627, Serial#: 5831
    public void lar(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0269((byte) 0x02, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lar  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code lar       rax, [L1: +305419896]}
     */
    // Template#: 4628, Serial#: 5834
    public void rip_lar(AMD64GeneralRegister64 destination, int rel32) {
        assemble0270((byte) 0x02, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code lar  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lar       rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4629, Serial#: 5838
    public void lar(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0271((byte) 0x02, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lar  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lar       rax, 0x12345678[rsi * 4]}
     */
    // Template#: 4630, Serial#: 5833
    public void m_lar(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0272((byte) 0x02, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lar  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code lar       rax, [rbx + 305419896]}
     */
    // Template#: 4631, Serial#: 5837
    public void lar(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0273((byte) 0x02, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lddqu  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lddqu     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 4632, Serial#: 9098
    public void lddqu(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0211((byte) 0xF0, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lddqu  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lddqu     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 4633, Serial#: 9106
    public void lddqu_r9106(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0212((byte) 0xF0, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lddqu  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lddqu     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 4634, Serial#: 9114
    public void lddqu_r9114(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0684((byte) 0xF0, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lddqu  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code lddqu     xmm0, [rbx + 18]}
     */
    // Template#: 4635, Serial#: 9097
    public void lddqu(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0213((byte) 0xF0, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lddqu  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code lddqu     xmm0, [rbx + 18]}
     */
    // Template#: 4636, Serial#: 9105
    public void lddqu_r9105(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0214((byte) 0xF0, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lddqu  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code lddqu     xmm0, [rbx + 18]}
     */
    // Template#: 4637, Serial#: 9113
    public void lddqu_r9113(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0685((byte) 0xF0, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lddqu  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lddqu     xmm0, rbx[rsi * 4]}
     */
    // Template#: 4638, Serial#: 9094
    public void lddqu(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0215((byte) 0xF0, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lddqu  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lddqu     xmm0, rbx[rsi * 4]}
     */
    // Template#: 4639, Serial#: 9102
    public void lddqu_r9102(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0216((byte) 0xF0, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lddqu  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lddqu     xmm0, rbx[rsi * 4]}
     */
    // Template#: 4640, Serial#: 9110
    public void lddqu_r9110(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0686((byte) 0xF0, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lddqu  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code lddqu     xmm0, [rbx]}
     */
    // Template#: 4641, Serial#: 9093
    public void lddqu(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0217((byte) 0xF0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lddqu  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code lddqu     xmm0, [rbx]}
     */
    // Template#: 4642, Serial#: 9101
    public void lddqu_r9101(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0218((byte) 0xF0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lddqu  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code lddqu     xmm0, [rbx]}
     */
    // Template#: 4643, Serial#: 9109
    public void lddqu_r9109(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0687((byte) 0xF0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lddqu  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code lddqu     xmm0, [L1: +305419896]}
     */
    // Template#: 4644, Serial#: 9096
    public void rip_lddqu(AMD64XMMRegister destination, int rel32) {
        assemble0221((byte) 0xF0, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code lddqu  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code lddqu     xmm0, [L1: +305419896]}
     */
    // Template#: 4645, Serial#: 9104
    public void rip_lddqu_r9104(AMD64XMMRegister destination, int rel32) {
        assemble0222((byte) 0xF0, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code lddqu  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code lddqu     xmm0, [L1: +305419896]}
     */
    // Template#: 4646, Serial#: 9112
    public void rip_lddqu_r9112(AMD64XMMRegister destination, int rel32) {
        assemble0688((byte) 0xF0, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code lddqu  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lddqu     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4647, Serial#: 9100
    public void lddqu(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0223((byte) 0xF0, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lddqu  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lddqu     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4648, Serial#: 9108
    public void lddqu_r9108(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0224((byte) 0xF0, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lddqu  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lddqu     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4649, Serial#: 9116
    public void lddqu_r9116(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0689((byte) 0xF0, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lddqu  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lddqu     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 4650, Serial#: 9095
    public void m_lddqu(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0225((byte) 0xF0, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lddqu  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lddqu     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 4651, Serial#: 9103
    public void m_lddqu_r9103(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0226((byte) 0xF0, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lddqu  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lddqu     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 4652, Serial#: 9111
    public void m_lddqu_r9111(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0690((byte) 0xF0, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lddqu  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code lddqu     xmm0, [rbx + 305419896]}
     */
    // Template#: 4653, Serial#: 9099
    public void lddqu(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0227((byte) 0xF0, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lddqu  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code lddqu     xmm0, [rbx + 305419896]}
     */
    // Template#: 4654, Serial#: 9107
    public void lddqu_r9107(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0228((byte) 0xF0, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lddqu  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code lddqu     xmm0, [rbx + 305419896]}
     */
    // Template#: 4655, Serial#: 9115
    public void lddqu_r9115(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0691((byte) 0xF0, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code ldmxcsr  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ldmxcsr   rbx[rsi * 4 + 18]}
     */
    // Template#: 4656, Serial#: 11359
    public void ldmxcsr(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0349((byte) 0xAE, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ldmxcsr  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ldmxcsr   rbx[rsi * 4 + 18]}
     */
    // Template#: 4657, Serial#: 11399
    public void ldmxcsr_r11399(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0350((byte) 0xAE, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ldmxcsr  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ldmxcsr   rbx[rsi * 4 + 18]}
     */
    // Template#: 4658, Serial#: 11439
    public void ldmxcsr_r11439(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0351((byte) 0xAE, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ldmxcsr  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code ldmxcsr   [rbx + 18]}
     */
    // Template#: 4659, Serial#: 11358
    public void ldmxcsr(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0352((byte) 0xAE, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ldmxcsr  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code ldmxcsr   [rbx + 18]}
     */
    // Template#: 4660, Serial#: 11398
    public void ldmxcsr_r11398(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0353((byte) 0xAE, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ldmxcsr  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code ldmxcsr   [rbx + 18]}
     */
    // Template#: 4661, Serial#: 11438
    public void ldmxcsr_r11438(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0354((byte) 0xAE, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ldmxcsr  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ldmxcsr   rbx[rsi * 4]}
     */
    // Template#: 4662, Serial#: 11343
    public void ldmxcsr(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0355((byte) 0xAE, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ldmxcsr  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ldmxcsr   rbx[rsi * 4]}
     */
    // Template#: 4663, Serial#: 11383
    public void ldmxcsr_r11383(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0356((byte) 0xAE, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ldmxcsr  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ldmxcsr   rbx[rsi * 4]}
     */
    // Template#: 4664, Serial#: 11423
    public void ldmxcsr_r11423(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0357((byte) 0xAE, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ldmxcsr  }<i>destination</i>
     * Example disassembly syntax: {@code ldmxcsr   [rbx]}
     */
    // Template#: 4665, Serial#: 11342
    public void ldmxcsr(AMD64IndirectRegister64 destination) {
        assemble0358((byte) 0xAE, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ldmxcsr  }<i>destination</i>
     * Example disassembly syntax: {@code ldmxcsr   [rbx]}
     */
    // Template#: 4666, Serial#: 11382
    public void ldmxcsr_r11382(AMD64IndirectRegister64 destination) {
        assemble0359((byte) 0xAE, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ldmxcsr  }<i>destination</i>
     * Example disassembly syntax: {@code ldmxcsr   [rbx]}
     */
    // Template#: 4667, Serial#: 11422
    public void ldmxcsr_r11422(AMD64IndirectRegister64 destination) {
        assemble0360((byte) 0xAE, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ldmxcsr  }<i>rel32</i>
     * Example disassembly syntax: {@code ldmxcsr   [L1: +305419896]}
     */
    // Template#: 4668, Serial#: 11345
    public void rip_ldmxcsr(int rel32) {
        assemble0361((byte) 0xAE, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code ldmxcsr  }<i>rel32</i>
     * Example disassembly syntax: {@code ldmxcsr   [L1: +305419896]}
     */
    // Template#: 4669, Serial#: 11385
    public void rip_ldmxcsr_r11385(int rel32) {
        assemble0362((byte) 0xAE, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code ldmxcsr  }<i>rel32</i>
     * Example disassembly syntax: {@code ldmxcsr   [L1: +305419896]}
     */
    // Template#: 4670, Serial#: 11425
    public void rip_ldmxcsr_r11425(int rel32) {
        assemble0363((byte) 0xAE, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code ldmxcsr  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ldmxcsr   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4671, Serial#: 11369
    public void ldmxcsr(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0364((byte) 0xAE, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ldmxcsr  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ldmxcsr   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4672, Serial#: 11409
    public void ldmxcsr_r11409(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0365((byte) 0xAE, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ldmxcsr  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ldmxcsr   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4673, Serial#: 11449
    public void ldmxcsr_r11449(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0366((byte) 0xAE, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ldmxcsr  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ldmxcsr   0x12345678[rsi * 4]}
     */
    // Template#: 4674, Serial#: 11344
    public void m_ldmxcsr(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0367((byte) 0xAE, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ldmxcsr  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ldmxcsr   0x12345678[rsi * 4]}
     */
    // Template#: 4675, Serial#: 11384
    public void m_ldmxcsr_r11384(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0368((byte) 0xAE, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ldmxcsr  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ldmxcsr   0x12345678[rsi * 4]}
     */
    // Template#: 4676, Serial#: 11424
    public void m_ldmxcsr_r11424(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0369((byte) 0xAE, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ldmxcsr  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code ldmxcsr   [rbx + 305419896]}
     */
    // Template#: 4677, Serial#: 11368
    public void ldmxcsr(int disp32, AMD64IndirectRegister64 destination) {
        assemble0370((byte) 0xAE, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ldmxcsr  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code ldmxcsr   [rbx + 305419896]}
     */
    // Template#: 4678, Serial#: 11408
    public void ldmxcsr_r11408(int disp32, AMD64IndirectRegister64 destination) {
        assemble0371((byte) 0xAE, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ldmxcsr  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code ldmxcsr   [rbx + 305419896]}
     */
    // Template#: 4679, Serial#: 11448
    public void ldmxcsr_r11448(int disp32, AMD64IndirectRegister64 destination) {
        assemble0372((byte) 0xAE, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lea  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lea       ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 4680, Serial#: 3809
    public void lea(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0041((byte) 0x8D, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lea  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code lea       ax, [rbx + 18]}
     */
    // Template#: 4681, Serial#: 3808
    public void lea(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0042((byte) 0x8D, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lea  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lea       ax, rbx[rsi * 4]}
     */
    // Template#: 4682, Serial#: 3805
    public void lea(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0043((byte) 0x8D, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lea  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code lea       ax, [rbx]}
     */
    // Template#: 4683, Serial#: 3804
    public void lea(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0046((byte) 0x8D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lea  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code lea       ax, [L1: +305419896]}
     */
    // Template#: 4684, Serial#: 3807
    public void rip_lea(AMD64GeneralRegister16 destination, int rel32) {
        assemble0047((byte) 0x8D, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code lea  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lea       ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4685, Serial#: 3811
    public void lea(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0048((byte) 0x8D, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lea  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lea       ax, 0x12345678[rsi * 4]}
     */
    // Template#: 4686, Serial#: 3806
    public void m_lea(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0049((byte) 0x8D, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lea  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code lea       ax, [rbx + 305419896]}
     */
    // Template#: 4687, Serial#: 3810
    public void lea(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0050((byte) 0x8D, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lea  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lea       eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 4688, Serial#: 3793
    public void lea(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0053((byte) 0x8D, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lea  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code lea       eax, [rbx + 18]}
     */
    // Template#: 4689, Serial#: 3792
    public void lea(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0054((byte) 0x8D, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lea  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lea       eax, rbx[rsi * 4]}
     */
    // Template#: 4690, Serial#: 3789
    public void lea(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0055((byte) 0x8D, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lea  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code lea       eax, [rbx]}
     */
    // Template#: 4691, Serial#: 3788
    public void lea(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0058((byte) 0x8D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lea  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code lea       eax, [L1: +305419896]}
     */
    // Template#: 4692, Serial#: 3791
    public void rip_lea(AMD64GeneralRegister32 destination, int rel32) {
        assemble0059((byte) 0x8D, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code lea  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lea       eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4693, Serial#: 3795
    public void lea(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0061((byte) 0x8D, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lea  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lea       eax, 0x12345678[rsi * 4]}
     */
    // Template#: 4694, Serial#: 3790
    public void m_lea(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0062((byte) 0x8D, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lea  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code lea       eax, [rbx + 305419896]}
     */
    // Template#: 4695, Serial#: 3794
    public void lea(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0063((byte) 0x8D, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lea  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lea       rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 4696, Serial#: 3801
    public void lea(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0065((byte) 0x8D, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lea  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code lea       rax, [rbx + 18]}
     */
    // Template#: 4697, Serial#: 3800
    public void lea(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0066((byte) 0x8D, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lea  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lea       rax, rbx[rsi * 4]}
     */
    // Template#: 4698, Serial#: 3797
    public void lea(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0067((byte) 0x8D, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lea  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code lea       rax, [rbx]}
     */
    // Template#: 4699, Serial#: 3796
    public void lea(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0070((byte) 0x8D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lea  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code lea       rax, [L1: +305419896]}
     */
    // Template#: 4700, Serial#: 3799
    public void rip_lea(AMD64GeneralRegister64 destination, int rel32) {
        assemble0071((byte) 0x8D, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code lea  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lea       rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4701, Serial#: 3803
    public void lea(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0073((byte) 0x8D, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lea  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lea       rax, 0x12345678[rsi * 4]}
     */
    // Template#: 4702, Serial#: 3798
    public void m_lea(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0074((byte) 0x8D, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lea  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code lea       rax, [rbx + 305419896]}
     */
    // Template#: 4703, Serial#: 3802
    public void lea(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0075((byte) 0x8D, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code leave  }
     * Example disassembly syntax: {@code leave   }
     */
    // Template#: 4704, Serial#: 3903
    public void leave() {
        assemble0208((byte) 0xC9);
    }

    /**
     * Pseudo-external assembler syntax: {@code leave  }
     * Example disassembly syntax: {@code leave   }
     */
    // Template#: 4705, Serial#: 3904
    public void leave_r3904() {
        assemble0210((byte) 0xC9);
    }

    /**
     * Pseudo-external assembler syntax: {@code lfence  }
     * Example disassembly syntax: {@code lfence  }
     */
    // Template#: 4706, Serial#: 11454
    public void lfence() {
        assemble0692((byte) 0xAE, (byte) 0x05);
    }

    /**
     * Pseudo-external assembler syntax: {@code lfence  }
     * Example disassembly syntax: {@code lfence  }
     */
    // Template#: 4707, Serial#: 11457
    public void lfence_r11457() {
        assemble0693((byte) 0xAE, (byte) 0x05);
    }

    /**
     * Pseudo-external assembler syntax: {@code lfence  }
     * Example disassembly syntax: {@code lfence  }
     */
    // Template#: 4708, Serial#: 11460
    public void lfence_r11460() {
        assemble0694((byte) 0xAE, (byte) 0x05);
    }

    /**
     * Pseudo-external assembler syntax: {@code lgdt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lgdt      rbx[rsi * 4 + 18]}
     */
    // Template#: 4709, Serial#: 5678
    public void lgdt(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0349((byte) 0x01, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lgdt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lgdt      rbx[rsi * 4 + 18]}
     */
    // Template#: 4710, Serial#: 5735
    public void lgdt_r5735(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0350((byte) 0x01, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lgdt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lgdt      rbx[rsi * 4 + 18]}
     */
    // Template#: 4711, Serial#: 5792
    public void lgdt_r5792(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0351((byte) 0x01, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lgdt  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code lgdt      [rbx + 18]}
     */
    // Template#: 4712, Serial#: 5677
    public void lgdt(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0352((byte) 0x01, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lgdt  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code lgdt      [rbx + 18]}
     */
    // Template#: 4713, Serial#: 5734
    public void lgdt_r5734(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0353((byte) 0x01, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lgdt  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code lgdt      [rbx + 18]}
     */
    // Template#: 4714, Serial#: 5791
    public void lgdt_r5791(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0354((byte) 0x01, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lgdt  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lgdt      rbx[rsi * 4]}
     */
    // Template#: 4715, Serial#: 5654
    public void lgdt(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0355((byte) 0x01, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lgdt  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lgdt      rbx[rsi * 4]}
     */
    // Template#: 4716, Serial#: 5711
    public void lgdt_r5711(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0356((byte) 0x01, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lgdt  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lgdt      rbx[rsi * 4]}
     */
    // Template#: 4717, Serial#: 5768
    public void lgdt_r5768(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0357((byte) 0x01, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lgdt  }<i>destination</i>
     * Example disassembly syntax: {@code lgdt      [rbx]}
     */
    // Template#: 4718, Serial#: 5653
    public void lgdt(AMD64IndirectRegister64 destination) {
        assemble0358((byte) 0x01, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lgdt  }<i>destination</i>
     * Example disassembly syntax: {@code lgdt      [rbx]}
     */
    // Template#: 4719, Serial#: 5710
    public void lgdt_r5710(AMD64IndirectRegister64 destination) {
        assemble0359((byte) 0x01, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lgdt  }<i>destination</i>
     * Example disassembly syntax: {@code lgdt      [rbx]}
     */
    // Template#: 4720, Serial#: 5767
    public void lgdt_r5767(AMD64IndirectRegister64 destination) {
        assemble0360((byte) 0x01, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lgdt  }<i>rel32</i>
     * Example disassembly syntax: {@code lgdt      [L1: +305419896]}
     */
    // Template#: 4721, Serial#: 5656
    public void rip_lgdt(int rel32) {
        assemble0361((byte) 0x01, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code lgdt  }<i>rel32</i>
     * Example disassembly syntax: {@code lgdt      [L1: +305419896]}
     */
    // Template#: 4722, Serial#: 5713
    public void rip_lgdt_r5713(int rel32) {
        assemble0362((byte) 0x01, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code lgdt  }<i>rel32</i>
     * Example disassembly syntax: {@code lgdt      [L1: +305419896]}
     */
    // Template#: 4723, Serial#: 5770
    public void rip_lgdt_r5770(int rel32) {
        assemble0363((byte) 0x01, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code lgdt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lgdt      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4724, Serial#: 5692
    public void lgdt(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0364((byte) 0x01, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lgdt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lgdt      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4725, Serial#: 5749
    public void lgdt_r5749(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0365((byte) 0x01, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lgdt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lgdt      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4726, Serial#: 5806
    public void lgdt_r5806(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0366((byte) 0x01, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lgdt  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lgdt      0x12345678[rsi * 4]}
     */
    // Template#: 4727, Serial#: 5655
    public void m_lgdt(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0367((byte) 0x01, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lgdt  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lgdt      0x12345678[rsi * 4]}
     */
    // Template#: 4728, Serial#: 5712
    public void m_lgdt_r5712(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0368((byte) 0x01, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lgdt  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lgdt      0x12345678[rsi * 4]}
     */
    // Template#: 4729, Serial#: 5769
    public void m_lgdt_r5769(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0369((byte) 0x01, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lgdt  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code lgdt      [rbx + 305419896]}
     */
    // Template#: 4730, Serial#: 5691
    public void lgdt(int disp32, AMD64IndirectRegister64 destination) {
        assemble0370((byte) 0x01, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lgdt  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code lgdt      [rbx + 305419896]}
     */
    // Template#: 4731, Serial#: 5748
    public void lgdt_r5748(int disp32, AMD64IndirectRegister64 destination) {
        assemble0371((byte) 0x01, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lgdt  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code lgdt      [rbx + 305419896]}
     */
    // Template#: 4732, Serial#: 5805
    public void lgdt_r5805(int disp32, AMD64IndirectRegister64 destination) {
        assemble0372((byte) 0x01, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lidt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lidt      rbx[rsi * 4 + 18]}
     */
    // Template#: 4733, Serial#: 5680
    public void lidt(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0349((byte) 0x01, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lidt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lidt      rbx[rsi * 4 + 18]}
     */
    // Template#: 4734, Serial#: 5737
    public void lidt_r5737(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0350((byte) 0x01, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lidt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lidt      rbx[rsi * 4 + 18]}
     */
    // Template#: 4735, Serial#: 5794
    public void lidt_r5794(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0351((byte) 0x01, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lidt  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code lidt      [rbx + 18]}
     */
    // Template#: 4736, Serial#: 5679
    public void lidt(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0352((byte) 0x01, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lidt  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code lidt      [rbx + 18]}
     */
    // Template#: 4737, Serial#: 5736
    public void lidt_r5736(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0353((byte) 0x01, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lidt  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code lidt      [rbx + 18]}
     */
    // Template#: 4738, Serial#: 5793
    public void lidt_r5793(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0354((byte) 0x01, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lidt  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lidt      rbx[rsi * 4]}
     */
    // Template#: 4739, Serial#: 5658
    public void lidt(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0355((byte) 0x01, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lidt  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lidt      rbx[rsi * 4]}
     */
    // Template#: 4740, Serial#: 5715
    public void lidt_r5715(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0356((byte) 0x01, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lidt  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lidt      rbx[rsi * 4]}
     */
    // Template#: 4741, Serial#: 5772
    public void lidt_r5772(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0357((byte) 0x01, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lidt  }<i>destination</i>
     * Example disassembly syntax: {@code lidt      [rbx]}
     */
    // Template#: 4742, Serial#: 5657
    public void lidt(AMD64IndirectRegister64 destination) {
        assemble0358((byte) 0x01, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lidt  }<i>destination</i>
     * Example disassembly syntax: {@code lidt      [rbx]}
     */
    // Template#: 4743, Serial#: 5714
    public void lidt_r5714(AMD64IndirectRegister64 destination) {
        assemble0359((byte) 0x01, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lidt  }<i>destination</i>
     * Example disassembly syntax: {@code lidt      [rbx]}
     */
    // Template#: 4744, Serial#: 5771
    public void lidt_r5771(AMD64IndirectRegister64 destination) {
        assemble0360((byte) 0x01, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lidt  }<i>rel32</i>
     * Example disassembly syntax: {@code lidt      [L1: +305419896]}
     */
    // Template#: 4745, Serial#: 5660
    public void rip_lidt(int rel32) {
        assemble0361((byte) 0x01, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code lidt  }<i>rel32</i>
     * Example disassembly syntax: {@code lidt      [L1: +305419896]}
     */
    // Template#: 4746, Serial#: 5717
    public void rip_lidt_r5717(int rel32) {
        assemble0362((byte) 0x01, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code lidt  }<i>rel32</i>
     * Example disassembly syntax: {@code lidt      [L1: +305419896]}
     */
    // Template#: 4747, Serial#: 5774
    public void rip_lidt_r5774(int rel32) {
        assemble0363((byte) 0x01, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code lidt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lidt      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4748, Serial#: 5694
    public void lidt(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0364((byte) 0x01, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lidt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lidt      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4749, Serial#: 5751
    public void lidt_r5751(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0365((byte) 0x01, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lidt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lidt      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4750, Serial#: 5808
    public void lidt_r5808(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0366((byte) 0x01, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lidt  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lidt      0x12345678[rsi * 4]}
     */
    // Template#: 4751, Serial#: 5659
    public void m_lidt(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0367((byte) 0x01, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lidt  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lidt      0x12345678[rsi * 4]}
     */
    // Template#: 4752, Serial#: 5716
    public void m_lidt_r5716(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0368((byte) 0x01, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lidt  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lidt      0x12345678[rsi * 4]}
     */
    // Template#: 4753, Serial#: 5773
    public void m_lidt_r5773(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0369((byte) 0x01, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lidt  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code lidt      [rbx + 305419896]}
     */
    // Template#: 4754, Serial#: 5693
    public void lidt(int disp32, AMD64IndirectRegister64 destination) {
        assemble0370((byte) 0x01, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lidt  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code lidt      [rbx + 305419896]}
     */
    // Template#: 4755, Serial#: 5750
    public void lidt_r5750(int disp32, AMD64IndirectRegister64 destination) {
        assemble0371((byte) 0x01, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lidt  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code lidt      [rbx + 305419896]}
     */
    // Template#: 4756, Serial#: 5807
    public void lidt_r5807(int disp32, AMD64IndirectRegister64 destination) {
        assemble0372((byte) 0x01, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lldt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lldt      rbx[rsi * 4 + 18]}
     */
    // Template#: 4757, Serial#: 5512
    public void lldt(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0349((byte) 0x00, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lldt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lldt      rbx[rsi * 4 + 18]}
     */
    // Template#: 4758, Serial#: 5564
    public void lldt_r5564(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0350((byte) 0x00, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lldt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lldt      rbx[rsi * 4 + 18]}
     */
    // Template#: 4759, Serial#: 5616
    public void lldt_r5616(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0351((byte) 0x00, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lldt  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code lldt      [rbx + 18]}
     */
    // Template#: 4760, Serial#: 5511
    public void lldt(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0352((byte) 0x00, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lldt  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code lldt      [rbx + 18]}
     */
    // Template#: 4761, Serial#: 5563
    public void lldt_r5563(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0353((byte) 0x00, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lldt  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code lldt      [rbx + 18]}
     */
    // Template#: 4762, Serial#: 5615
    public void lldt_r5615(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0354((byte) 0x00, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lldt  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lldt      rbx[rsi * 4]}
     */
    // Template#: 4763, Serial#: 5492
    public void lldt(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0355((byte) 0x00, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lldt  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lldt      rbx[rsi * 4]}
     */
    // Template#: 4764, Serial#: 5544
    public void lldt_r5544(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0356((byte) 0x00, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lldt  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lldt      rbx[rsi * 4]}
     */
    // Template#: 4765, Serial#: 5596
    public void lldt_r5596(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0357((byte) 0x00, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lldt  }<i>destination</i>
     * Example disassembly syntax: {@code lldt      ax}
     */
    // Template#: 4766, Serial#: 5531
    public void lldt(AMD64GeneralRegister16 destination) {
        assemble0695((byte) 0x00, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lldt  }<i>destination</i>
     * Example disassembly syntax: {@code lldt      ax}
     */
    // Template#: 4767, Serial#: 5583
    public void lldt_r5583(AMD64GeneralRegister16 destination) {
        assemble0696((byte) 0x00, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lldt  }<i>destination</i>
     * Example disassembly syntax: {@code lldt      ax}
     */
    // Template#: 4768, Serial#: 5635
    public void lldt_r5635(AMD64GeneralRegister16 destination) {
        assemble0697((byte) 0x00, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lldt  }<i>destination</i>
     * Example disassembly syntax: {@code lldt      [rbx]}
     */
    // Template#: 4769, Serial#: 5491
    public void lldt(AMD64IndirectRegister64 destination) {
        assemble0358((byte) 0x00, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lldt  }<i>destination</i>
     * Example disassembly syntax: {@code lldt      [rbx]}
     */
    // Template#: 4770, Serial#: 5543
    public void lldt_r5543(AMD64IndirectRegister64 destination) {
        assemble0359((byte) 0x00, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lldt  }<i>destination</i>
     * Example disassembly syntax: {@code lldt      [rbx]}
     */
    // Template#: 4771, Serial#: 5595
    public void lldt_r5595(AMD64IndirectRegister64 destination) {
        assemble0360((byte) 0x00, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lldt  }<i>rel32</i>
     * Example disassembly syntax: {@code lldt      [L1: +305419896]}
     */
    // Template#: 4772, Serial#: 5494
    public void rip_lldt(int rel32) {
        assemble0361((byte) 0x00, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code lldt  }<i>rel32</i>
     * Example disassembly syntax: {@code lldt      [L1: +305419896]}
     */
    // Template#: 4773, Serial#: 5546
    public void rip_lldt_r5546(int rel32) {
        assemble0362((byte) 0x00, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code lldt  }<i>rel32</i>
     * Example disassembly syntax: {@code lldt      [L1: +305419896]}
     */
    // Template#: 4774, Serial#: 5598
    public void rip_lldt_r5598(int rel32) {
        assemble0363((byte) 0x00, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code lldt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lldt      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4775, Serial#: 5524
    public void lldt(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0364((byte) 0x00, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lldt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lldt      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4776, Serial#: 5576
    public void lldt_r5576(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0365((byte) 0x00, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lldt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lldt      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4777, Serial#: 5628
    public void lldt_r5628(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0366((byte) 0x00, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lldt  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lldt      0x12345678[rsi * 4]}
     */
    // Template#: 4778, Serial#: 5493
    public void m_lldt(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0367((byte) 0x00, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lldt  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lldt      0x12345678[rsi * 4]}
     */
    // Template#: 4779, Serial#: 5545
    public void m_lldt_r5545(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0368((byte) 0x00, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lldt  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lldt      0x12345678[rsi * 4]}
     */
    // Template#: 4780, Serial#: 5597
    public void m_lldt_r5597(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0369((byte) 0x00, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lldt  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code lldt      [rbx + 305419896]}
     */
    // Template#: 4781, Serial#: 5523
    public void lldt(int disp32, AMD64IndirectRegister64 destination) {
        assemble0370((byte) 0x00, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lldt  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code lldt      [rbx + 305419896]}
     */
    // Template#: 4782, Serial#: 5575
    public void lldt_r5575(int disp32, AMD64IndirectRegister64 destination) {
        assemble0371((byte) 0x00, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lldt  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code lldt      [rbx + 305419896]}
     */
    // Template#: 4783, Serial#: 5627
    public void lldt_r5627(int disp32, AMD64IndirectRegister64 destination) {
        assemble0372((byte) 0x00, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lmsw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lmsw      rbx[rsi * 4 + 18]}
     */
    // Template#: 4784, Serial#: 5684
    public void lmsw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0349((byte) 0x01, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lmsw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lmsw      rbx[rsi * 4 + 18]}
     */
    // Template#: 4785, Serial#: 5741
    public void lmsw_r5741(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0350((byte) 0x01, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lmsw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lmsw      rbx[rsi * 4 + 18]}
     */
    // Template#: 4786, Serial#: 5798
    public void lmsw_r5798(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0351((byte) 0x01, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lmsw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code lmsw      [rbx + 18]}
     */
    // Template#: 4787, Serial#: 5683
    public void lmsw(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0352((byte) 0x01, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lmsw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code lmsw      [rbx + 18]}
     */
    // Template#: 4788, Serial#: 5740
    public void lmsw_r5740(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0353((byte) 0x01, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lmsw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code lmsw      [rbx + 18]}
     */
    // Template#: 4789, Serial#: 5797
    public void lmsw_r5797(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0354((byte) 0x01, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lmsw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lmsw      rbx[rsi * 4]}
     */
    // Template#: 4790, Serial#: 5666
    public void lmsw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0355((byte) 0x01, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lmsw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lmsw      rbx[rsi * 4]}
     */
    // Template#: 4791, Serial#: 5723
    public void lmsw_r5723(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0356((byte) 0x01, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lmsw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lmsw      rbx[rsi * 4]}
     */
    // Template#: 4792, Serial#: 5780
    public void lmsw_r5780(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0357((byte) 0x01, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lmsw  }<i>destination</i>
     * Example disassembly syntax: {@code lmsw      ax}
     */
    // Template#: 4793, Serial#: 5701
    public void lmsw(AMD64GeneralRegister16 destination) {
        assemble0695((byte) 0x01, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lmsw  }<i>destination</i>
     * Example disassembly syntax: {@code lmsw      ax}
     */
    // Template#: 4794, Serial#: 5758
    public void lmsw_r5758(AMD64GeneralRegister16 destination) {
        assemble0696((byte) 0x01, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lmsw  }<i>destination</i>
     * Example disassembly syntax: {@code lmsw      ax}
     */
    // Template#: 4795, Serial#: 5815
    public void lmsw_r5815(AMD64GeneralRegister16 destination) {
        assemble0697((byte) 0x01, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lmsw  }<i>destination</i>
     * Example disassembly syntax: {@code lmsw      [rbx]}
     */
    // Template#: 4796, Serial#: 5665
    public void lmsw(AMD64IndirectRegister64 destination) {
        assemble0358((byte) 0x01, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lmsw  }<i>destination</i>
     * Example disassembly syntax: {@code lmsw      [rbx]}
     */
    // Template#: 4797, Serial#: 5722
    public void lmsw_r5722(AMD64IndirectRegister64 destination) {
        assemble0359((byte) 0x01, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lmsw  }<i>destination</i>
     * Example disassembly syntax: {@code lmsw      [rbx]}
     */
    // Template#: 4798, Serial#: 5779
    public void lmsw_r5779(AMD64IndirectRegister64 destination) {
        assemble0360((byte) 0x01, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lmsw  }<i>rel32</i>
     * Example disassembly syntax: {@code lmsw      [L1: +305419896]}
     */
    // Template#: 4799, Serial#: 5668
    public void rip_lmsw(int rel32) {
        assemble0361((byte) 0x01, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code lmsw  }<i>rel32</i>
     * Example disassembly syntax: {@code lmsw      [L1: +305419896]}
     */
    // Template#: 4800, Serial#: 5725
    public void rip_lmsw_r5725(int rel32) {
        assemble0362((byte) 0x01, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code lmsw  }<i>rel32</i>
     * Example disassembly syntax: {@code lmsw      [L1: +305419896]}
     */
    // Template#: 4801, Serial#: 5782
    public void rip_lmsw_r5782(int rel32) {
        assemble0363((byte) 0x01, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code lmsw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lmsw      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4802, Serial#: 5698
    public void lmsw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0364((byte) 0x01, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lmsw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lmsw      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4803, Serial#: 5755
    public void lmsw_r5755(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0365((byte) 0x01, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lmsw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lmsw      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4804, Serial#: 5812
    public void lmsw_r5812(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0366((byte) 0x01, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lmsw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lmsw      0x12345678[rsi * 4]}
     */
    // Template#: 4805, Serial#: 5667
    public void m_lmsw(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0367((byte) 0x01, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lmsw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lmsw      0x12345678[rsi * 4]}
     */
    // Template#: 4806, Serial#: 5724
    public void m_lmsw_r5724(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0368((byte) 0x01, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lmsw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lmsw      0x12345678[rsi * 4]}
     */
    // Template#: 4807, Serial#: 5781
    public void m_lmsw_r5781(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0369((byte) 0x01, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lmsw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code lmsw      [rbx + 305419896]}
     */
    // Template#: 4808, Serial#: 5697
    public void lmsw(int disp32, AMD64IndirectRegister64 destination) {
        assemble0370((byte) 0x01, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lmsw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code lmsw      [rbx + 305419896]}
     */
    // Template#: 4809, Serial#: 5754
    public void lmsw_r5754(int disp32, AMD64IndirectRegister64 destination) {
        assemble0371((byte) 0x01, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lmsw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code lmsw      [rbx + 305419896]}
     */
    // Template#: 4810, Serial#: 5811
    public void lmsw_r5811(int disp32, AMD64IndirectRegister64 destination) {
        assemble0372((byte) 0x01, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code lock  }
     * Example disassembly syntax: {@code lock    }
     */
    // Template#: 4811, Serial#: 2663
    public void lock() {
        assemble0208((byte) 0xF0);
    }

    /**
     * Pseudo-external assembler syntax: {@code lock  }
     * Example disassembly syntax: {@code lock    }
     */
    // Template#: 4812, Serial#: 2664
    public void lock_r2664() {
        assemble0209((byte) 0xF0);
    }

    /**
     * Pseudo-external assembler syntax: {@code lock  }
     * Example disassembly syntax: {@code lock    }
     */
    // Template#: 4813, Serial#: 2665
    public void lock_r2665() {
        assemble0210((byte) 0xF0);
    }

    /**
     * Pseudo-external assembler syntax: {@code lodsb  }
     * Example disassembly syntax: {@code lodsb   }
     */
    // Template#: 4814, Serial#: 3886
    public void lodsb() {
        assemble0208((byte) 0xAC);
    }

    /**
     * Pseudo-external assembler syntax: {@code lodsb  }
     * Example disassembly syntax: {@code lodsb   }
     */
    // Template#: 4815, Serial#: 3887
    public void lodsb_r3887() {
        assemble0209((byte) 0xAC);
    }

    /**
     * Pseudo-external assembler syntax: {@code lodsb  }
     * Example disassembly syntax: {@code lodsb   }
     */
    // Template#: 4816, Serial#: 3888
    public void lodsb_r3888() {
        assemble0210((byte) 0xAC);
    }

    /**
     * Pseudo-external assembler syntax: {@code lodsl  }
     * Example disassembly syntax: {@code lodsl   }
     */
    // Template#: 4817, Serial#: 3889
    public void lodsl() {
        assemble0208((byte) 0xAD);
    }

    /**
     * Pseudo-external assembler syntax: {@code lodsq  }
     * Example disassembly syntax: {@code lodsq   }
     */
    // Template#: 4818, Serial#: 3890
    public void lodsq() {
        assemble0209((byte) 0xAD);
    }

    /**
     * Pseudo-external assembler syntax: {@code lodsw  }
     * Example disassembly syntax: {@code lodsw   }
     */
    // Template#: 4819, Serial#: 3891
    public void lodsw() {
        assemble0210((byte) 0xAD);
    }

    /**
     * Pseudo-external assembler syntax: {@code loop  }<i>rel8</i>
     * Example disassembly syntax: {@code loop      L1: +18}
     */
    // Template#: 4820, Serial#: 2647
    public void loop(byte rel8) {
        assemble0681((byte) 0xE2, rel8);
    }

    /**
     * Pseudo-external assembler syntax: {@code loop  }<i>rel8</i>
     * Example disassembly syntax: {@code loop      L1: +18}
     */
    // Template#: 4821, Serial#: 2648
    public void loop_r2648(byte rel8) {
        assemble0698((byte) 0xE2, rel8);
    }

    /**
     * Pseudo-external assembler syntax: {@code loope  }<i>rel8</i>
     * Example disassembly syntax: {@code loope     L1: +18}
     */
    // Template#: 4822, Serial#: 2645
    public void loope(byte rel8) {
        assemble0681((byte) 0xE1, rel8);
    }

    /**
     * Pseudo-external assembler syntax: {@code loope  }<i>rel8</i>
     * Example disassembly syntax: {@code loope     L1: +18}
     */
    // Template#: 4823, Serial#: 2646
    public void loope_r2646(byte rel8) {
        assemble0698((byte) 0xE1, rel8);
    }

    /**
     * Pseudo-external assembler syntax: {@code loopne  }<i>rel8</i>
     * Example disassembly syntax: {@code loopne    L1: +18}
     */
    // Template#: 4824, Serial#: 2643
    public void loopne(byte rel8) {
        assemble0681((byte) 0xE0, rel8);
    }

    /**
     * Pseudo-external assembler syntax: {@code loopne  }<i>rel8</i>
     * Example disassembly syntax: {@code loopne    L1: +18}
     */
    // Template#: 4825, Serial#: 2644
    public void loopne_r2644(byte rel8) {
        assemble0698((byte) 0xE0, rel8);
    }

    /**
     * Pseudo-external assembler syntax: {@code lsl  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lsl       ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 4826, Serial#: 5872
    public void lsl(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0247((byte) 0x03, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lsl  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code lsl       ax, [rbx + 18]}
     */
    // Template#: 4827, Serial#: 5871
    public void lsl(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0248((byte) 0x03, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lsl  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lsl       ax, rbx[rsi * 4]}
     */
    // Template#: 4828, Serial#: 5868
    public void lsl(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0249((byte) 0x03, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lsl  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code lsl       ax, ax}
     */
    // Template#: 4829, Serial#: 5875
    public void lsl(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0250((byte) 0x03, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lsl  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code lsl       ax, [rbx]}
     */
    // Template#: 4830, Serial#: 5867
    public void lsl(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0251((byte) 0x03, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lsl  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code lsl       ax, [L1: +305419896]}
     */
    // Template#: 4831, Serial#: 5870
    public void rip_lsl(AMD64GeneralRegister16 destination, int rel32) {
        assemble0252((byte) 0x03, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code lsl  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lsl       ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4832, Serial#: 5874
    public void lsl(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0253((byte) 0x03, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lsl  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lsl       ax, 0x12345678[rsi * 4]}
     */
    // Template#: 4833, Serial#: 5869
    public void m_lsl(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0254((byte) 0x03, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lsl  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code lsl       ax, [rbx + 305419896]}
     */
    // Template#: 4834, Serial#: 5873
    public void lsl(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0255((byte) 0x03, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lsl  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lsl       eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 4835, Serial#: 5854
    public void lsl(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0256((byte) 0x03, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lsl  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code lsl       eax, [rbx + 18]}
     */
    // Template#: 4836, Serial#: 5853
    public void lsl(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0257((byte) 0x03, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lsl  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lsl       eax, rbx[rsi * 4]}
     */
    // Template#: 4837, Serial#: 5850
    public void lsl(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0258((byte) 0x03, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lsl  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code lsl       eax, eax}
     */
    // Template#: 4838, Serial#: 5857
    public void lsl(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0259((byte) 0x03, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lsl  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code lsl       eax, [rbx]}
     */
    // Template#: 4839, Serial#: 5849
    public void lsl(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0260((byte) 0x03, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lsl  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code lsl       eax, [L1: +305419896]}
     */
    // Template#: 4840, Serial#: 5852
    public void rip_lsl(AMD64GeneralRegister32 destination, int rel32) {
        assemble0261((byte) 0x03, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code lsl  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lsl       eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4841, Serial#: 5856
    public void lsl(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0262((byte) 0x03, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lsl  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lsl       eax, 0x12345678[rsi * 4]}
     */
    // Template#: 4842, Serial#: 5851
    public void m_lsl(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0263((byte) 0x03, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lsl  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code lsl       eax, [rbx + 305419896]}
     */
    // Template#: 4843, Serial#: 5855
    public void lsl(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0264((byte) 0x03, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lsl  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lsl       rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 4844, Serial#: 5863
    public void lsl(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0265((byte) 0x03, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lsl  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code lsl       rax, [rbx + 18]}
     */
    // Template#: 4845, Serial#: 5862
    public void lsl(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0266((byte) 0x03, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lsl  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lsl       rax, rbx[rsi * 4]}
     */
    // Template#: 4846, Serial#: 5859
    public void lsl(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0267((byte) 0x03, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lsl  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code lsl       rax, rax}
     */
    // Template#: 4847, Serial#: 5866
    public void lsl(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0268((byte) 0x03, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lsl  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code lsl       rax, [rbx]}
     */
    // Template#: 4848, Serial#: 5858
    public void lsl(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0269((byte) 0x03, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code lsl  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code lsl       rax, [L1: +305419896]}
     */
    // Template#: 4849, Serial#: 5861
    public void rip_lsl(AMD64GeneralRegister64 destination, int rel32) {
        assemble0270((byte) 0x03, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code lsl  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lsl       rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4850, Serial#: 5865
    public void lsl(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0271((byte) 0x03, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lsl  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code lsl       rax, 0x12345678[rsi * 4]}
     */
    // Template#: 4851, Serial#: 5860
    public void m_lsl(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0272((byte) 0x03, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code lsl  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code lsl       rax, [rbx + 305419896]}
     */
    // Template#: 4852, Serial#: 5864
    public void lsl(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0273((byte) 0x03, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code ltr  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ltr       rbx[rsi * 4 + 18]}
     */
    // Template#: 4853, Serial#: 5514
    public void ltr(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0349((byte) 0x00, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ltr  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ltr       rbx[rsi * 4 + 18]}
     */
    // Template#: 4854, Serial#: 5566
    public void ltr_r5566(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0350((byte) 0x00, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ltr  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ltr       rbx[rsi * 4 + 18]}
     */
    // Template#: 4855, Serial#: 5618
    public void ltr_r5618(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0351((byte) 0x00, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ltr  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code ltr       [rbx + 18]}
     */
    // Template#: 4856, Serial#: 5513
    public void ltr(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0352((byte) 0x00, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ltr  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code ltr       [rbx + 18]}
     */
    // Template#: 4857, Serial#: 5565
    public void ltr_r5565(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0353((byte) 0x00, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ltr  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code ltr       [rbx + 18]}
     */
    // Template#: 4858, Serial#: 5617
    public void ltr_r5617(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0354((byte) 0x00, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ltr  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ltr       rbx[rsi * 4]}
     */
    // Template#: 4859, Serial#: 5496
    public void ltr(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0355((byte) 0x00, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ltr  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ltr       rbx[rsi * 4]}
     */
    // Template#: 4860, Serial#: 5548
    public void ltr_r5548(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0356((byte) 0x00, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ltr  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ltr       rbx[rsi * 4]}
     */
    // Template#: 4861, Serial#: 5600
    public void ltr_r5600(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0357((byte) 0x00, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ltr  }<i>destination</i>
     * Example disassembly syntax: {@code ltr       ax}
     */
    // Template#: 4862, Serial#: 5532
    public void ltr(AMD64GeneralRegister16 destination) {
        assemble0695((byte) 0x00, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ltr  }<i>destination</i>
     * Example disassembly syntax: {@code ltr       ax}
     */
    // Template#: 4863, Serial#: 5584
    public void ltr_r5584(AMD64GeneralRegister16 destination) {
        assemble0696((byte) 0x00, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ltr  }<i>destination</i>
     * Example disassembly syntax: {@code ltr       ax}
     */
    // Template#: 4864, Serial#: 5636
    public void ltr_r5636(AMD64GeneralRegister16 destination) {
        assemble0697((byte) 0x00, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ltr  }<i>destination</i>
     * Example disassembly syntax: {@code ltr       [rbx]}
     */
    // Template#: 4865, Serial#: 5495
    public void ltr(AMD64IndirectRegister64 destination) {
        assemble0358((byte) 0x00, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ltr  }<i>destination</i>
     * Example disassembly syntax: {@code ltr       [rbx]}
     */
    // Template#: 4866, Serial#: 5547
    public void ltr_r5547(AMD64IndirectRegister64 destination) {
        assemble0359((byte) 0x00, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ltr  }<i>destination</i>
     * Example disassembly syntax: {@code ltr       [rbx]}
     */
    // Template#: 4867, Serial#: 5599
    public void ltr_r5599(AMD64IndirectRegister64 destination) {
        assemble0360((byte) 0x00, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ltr  }<i>rel32</i>
     * Example disassembly syntax: {@code ltr       [L1: +305419896]}
     */
    // Template#: 4868, Serial#: 5498
    public void rip_ltr(int rel32) {
        assemble0361((byte) 0x00, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code ltr  }<i>rel32</i>
     * Example disassembly syntax: {@code ltr       [L1: +305419896]}
     */
    // Template#: 4869, Serial#: 5550
    public void rip_ltr_r5550(int rel32) {
        assemble0362((byte) 0x00, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code ltr  }<i>rel32</i>
     * Example disassembly syntax: {@code ltr       [L1: +305419896]}
     */
    // Template#: 4870, Serial#: 5602
    public void rip_ltr_r5602(int rel32) {
        assemble0363((byte) 0x00, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code ltr  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ltr       rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4871, Serial#: 5526
    public void ltr(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0364((byte) 0x00, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ltr  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ltr       rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4872, Serial#: 5578
    public void ltr_r5578(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0365((byte) 0x00, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ltr  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ltr       rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4873, Serial#: 5630
    public void ltr_r5630(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0366((byte) 0x00, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ltr  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ltr       0x12345678[rsi * 4]}
     */
    // Template#: 4874, Serial#: 5497
    public void m_ltr(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0367((byte) 0x00, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ltr  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ltr       0x12345678[rsi * 4]}
     */
    // Template#: 4875, Serial#: 5549
    public void m_ltr_r5549(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0368((byte) 0x00, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ltr  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ltr       0x12345678[rsi * 4]}
     */
    // Template#: 4876, Serial#: 5601
    public void m_ltr_r5601(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0369((byte) 0x00, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ltr  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code ltr       [rbx + 305419896]}
     */
    // Template#: 4877, Serial#: 5525
    public void ltr(int disp32, AMD64IndirectRegister64 destination) {
        assemble0370((byte) 0x00, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ltr  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code ltr       [rbx + 305419896]}
     */
    // Template#: 4878, Serial#: 5577
    public void ltr_r5577(int disp32, AMD64IndirectRegister64 destination) {
        assemble0371((byte) 0x00, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code ltr  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code ltr       [rbx + 305419896]}
     */
    // Template#: 4879, Serial#: 5629
    public void ltr_r5629(int disp32, AMD64IndirectRegister64 destination) {
        assemble0372((byte) 0x00, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code maskmovdqu  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code maskmovdqu  xmm0, xmm0}
     */
    // Template#: 4880, Serial#: 9090
    public void maskmovdqu(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xF7, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maskmovdqu  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code maskmovdqu  xmm0, xmm0}
     */
    // Template#: 4881, Serial#: 9091
    public void maskmovdqu_r9091(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xF7, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maskmovdqu  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code maskmovdqu  xmm0, xmm0}
     */
    // Template#: 4882, Serial#: 9092
    public void maskmovdqu_r9092(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0699((byte) 0xF7, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maskmovq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code maskmovq  mm0, mm0}
     */
    // Template#: 4883, Serial#: 8979
    public void maskmovq(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xF7, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maskmovq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code maskmovq  mm0, mm0}
     */
    // Template#: 4884, Serial#: 8980
    public void maskmovq_r8980(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xF7, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maskmovq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code maskmovq  mm0, mm0}
     */
    // Template#: 4885, Serial#: 8981
    public void maskmovq_r8981(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xF7, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxpd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 4886, Serial#: 10235
    public void maxpd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x5F, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxpd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 4887, Serial#: 10244
    public void maxpd_r10244(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x5F, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code maxpd     xmm0, [rbx + 18]}
     */
    // Template#: 4888, Serial#: 10234
    public void maxpd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x5F, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code maxpd     xmm0, [rbx + 18]}
     */
    // Template#: 4889, Serial#: 10243
    public void maxpd_r10243(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x5F, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxpd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 4890, Serial#: 10231
    public void maxpd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x5F, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxpd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 4891, Serial#: 10240
    public void maxpd_r10240(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x5F, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code maxpd     xmm0, [rbx]}
     */
    // Template#: 4892, Serial#: 10230
    public void maxpd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x5F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code maxpd     xmm0, [rbx]}
     */
    // Template#: 4893, Serial#: 10239
    public void maxpd_r10239(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x5F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code maxpd     xmm0, xmm0}
     */
    // Template#: 4894, Serial#: 10238
    public void maxpd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x5F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code maxpd     xmm0, xmm0}
     */
    // Template#: 4895, Serial#: 10247
    public void maxpd_r10247(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x5F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code maxpd     xmm0, [L1: +305419896]}
     */
    // Template#: 4896, Serial#: 10233
    public void rip_maxpd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x5F, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code maxpd     xmm0, [L1: +305419896]}
     */
    // Template#: 4897, Serial#: 10242
    public void rip_maxpd_r10242(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x5F, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxpd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4898, Serial#: 10237
    public void maxpd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x5F, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxpd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4899, Serial#: 10246
    public void maxpd_r10246(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x5F, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxpd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 4900, Serial#: 10232
    public void m_maxpd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x5F, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxpd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 4901, Serial#: 10241
    public void m_maxpd_r10241(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x5F, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code maxpd     xmm0, [rbx + 305419896]}
     */
    // Template#: 4902, Serial#: 10236
    public void maxpd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x5F, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code maxpd     xmm0, [rbx + 305419896]}
     */
    // Template#: 4903, Serial#: 10245
    public void maxpd_r10245(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x5F, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxps     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 4904, Serial#: 10091
    public void maxps(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0190((byte) 0x5F, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxps     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 4905, Serial#: 10100
    public void maxps_r10100(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0191((byte) 0x5F, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code maxps     xmm0, [rbx + 18]}
     */
    // Template#: 4906, Serial#: 10090
    public void maxps(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0192((byte) 0x5F, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code maxps     xmm0, [rbx + 18]}
     */
    // Template#: 4907, Serial#: 10099
    public void maxps_r10099(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0193((byte) 0x5F, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxps     xmm0, rbx[rsi * 4]}
     */
    // Template#: 4908, Serial#: 10087
    public void maxps(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0194((byte) 0x5F, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxps     xmm0, rbx[rsi * 4]}
     */
    // Template#: 4909, Serial#: 10096
    public void maxps_r10096(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0195((byte) 0x5F, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code maxps     xmm0, [rbx]}
     */
    // Template#: 4910, Serial#: 10086
    public void maxps(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0196((byte) 0x5F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code maxps     xmm0, [rbx]}
     */
    // Template#: 4911, Serial#: 10095
    public void maxps_r10095(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0197((byte) 0x5F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code maxps     xmm0, xmm0}
     */
    // Template#: 4912, Serial#: 10094
    public void maxps(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0198((byte) 0x5F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code maxps     xmm0, xmm0}
     */
    // Template#: 4913, Serial#: 10103
    public void maxps_r10103(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0199((byte) 0x5F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code maxps     xmm0, [L1: +305419896]}
     */
    // Template#: 4914, Serial#: 10089
    public void rip_maxps(AMD64XMMRegister destination, int rel32) {
        assemble0200((byte) 0x5F, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code maxps     xmm0, [L1: +305419896]}
     */
    // Template#: 4915, Serial#: 10098
    public void rip_maxps_r10098(AMD64XMMRegister destination, int rel32) {
        assemble0201((byte) 0x5F, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxps     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4916, Serial#: 10093
    public void maxps(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0202((byte) 0x5F, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxps     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4917, Serial#: 10102
    public void maxps_r10102(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0203((byte) 0x5F, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxps     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 4918, Serial#: 10088
    public void m_maxps(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0204((byte) 0x5F, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxps     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 4919, Serial#: 10097
    public void m_maxps_r10097(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0205((byte) 0x5F, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code maxps     xmm0, [rbx + 305419896]}
     */
    // Template#: 4920, Serial#: 10092
    public void maxps(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0206((byte) 0x5F, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code maxps     xmm0, [rbx + 305419896]}
     */
    // Template#: 4921, Serial#: 10101
    public void maxps_r10101(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0207((byte) 0x5F, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxsd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxsd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 4922, Serial#: 10361
    public void maxsd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0211((byte) 0x5F, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxsd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxsd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 4923, Serial#: 10370
    public void maxsd_r10370(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0212((byte) 0x5F, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxsd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code maxsd     xmm0, [rbx + 18]}
     */
    // Template#: 4924, Serial#: 10360
    public void maxsd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0213((byte) 0x5F, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxsd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code maxsd     xmm0, [rbx + 18]}
     */
    // Template#: 4925, Serial#: 10369
    public void maxsd_r10369(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0214((byte) 0x5F, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxsd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxsd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 4926, Serial#: 10357
    public void maxsd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0215((byte) 0x5F, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxsd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxsd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 4927, Serial#: 10366
    public void maxsd_r10366(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0216((byte) 0x5F, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code maxsd     xmm0, [rbx]}
     */
    // Template#: 4928, Serial#: 10356
    public void maxsd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0217((byte) 0x5F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code maxsd     xmm0, [rbx]}
     */
    // Template#: 4929, Serial#: 10365
    public void maxsd_r10365(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0218((byte) 0x5F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code maxsd     xmm0, xmm0}
     */
    // Template#: 4930, Serial#: 10364
    public void maxsd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0219((byte) 0x5F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code maxsd     xmm0, xmm0}
     */
    // Template#: 4931, Serial#: 10373
    public void maxsd_r10373(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0220((byte) 0x5F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxsd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code maxsd     xmm0, [L1: +305419896]}
     */
    // Template#: 4932, Serial#: 10359
    public void rip_maxsd(AMD64XMMRegister destination, int rel32) {
        assemble0221((byte) 0x5F, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxsd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code maxsd     xmm0, [L1: +305419896]}
     */
    // Template#: 4933, Serial#: 10368
    public void rip_maxsd_r10368(AMD64XMMRegister destination, int rel32) {
        assemble0222((byte) 0x5F, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxsd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxsd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4934, Serial#: 10363
    public void maxsd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0223((byte) 0x5F, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxsd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxsd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4935, Serial#: 10372
    public void maxsd_r10372(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0224((byte) 0x5F, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxsd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxsd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 4936, Serial#: 10358
    public void m_maxsd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0225((byte) 0x5F, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxsd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxsd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 4937, Serial#: 10367
    public void m_maxsd_r10367(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0226((byte) 0x5F, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxsd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code maxsd     xmm0, [rbx + 305419896]}
     */
    // Template#: 4938, Serial#: 10362
    public void maxsd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0227((byte) 0x5F, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxsd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code maxsd     xmm0, [rbx + 305419896]}
     */
    // Template#: 4939, Serial#: 10371
    public void maxsd_r10371(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0228((byte) 0x5F, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxss     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 4940, Serial#: 10505
    public void maxss(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0229((byte) 0x5F, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxss     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 4941, Serial#: 10514
    public void maxss_r10514(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0230((byte) 0x5F, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxss  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code maxss     xmm0, [rbx + 18]}
     */
    // Template#: 4942, Serial#: 10504
    public void maxss(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0231((byte) 0x5F, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxss  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code maxss     xmm0, [rbx + 18]}
     */
    // Template#: 4943, Serial#: 10513
    public void maxss_r10513(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0232((byte) 0x5F, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxss     xmm0, rbx[rsi * 4]}
     */
    // Template#: 4944, Serial#: 10501
    public void maxss(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0233((byte) 0x5F, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxss     xmm0, rbx[rsi * 4]}
     */
    // Template#: 4945, Serial#: 10510
    public void maxss_r10510(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0234((byte) 0x5F, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code maxss     xmm0, [rbx]}
     */
    // Template#: 4946, Serial#: 10500
    public void maxss(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0235((byte) 0x5F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code maxss     xmm0, [rbx]}
     */
    // Template#: 4947, Serial#: 10509
    public void maxss_r10509(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0236((byte) 0x5F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code maxss     xmm0, xmm0}
     */
    // Template#: 4948, Serial#: 10508
    public void maxss(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0237((byte) 0x5F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code maxss     xmm0, xmm0}
     */
    // Template#: 4949, Serial#: 10517
    public void maxss_r10517(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0238((byte) 0x5F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxss  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code maxss     xmm0, [L1: +305419896]}
     */
    // Template#: 4950, Serial#: 10503
    public void rip_maxss(AMD64XMMRegister destination, int rel32) {
        assemble0239((byte) 0x5F, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxss  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code maxss     xmm0, [L1: +305419896]}
     */
    // Template#: 4951, Serial#: 10512
    public void rip_maxss_r10512(AMD64XMMRegister destination, int rel32) {
        assemble0240((byte) 0x5F, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxss     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4952, Serial#: 10507
    public void maxss(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0241((byte) 0x5F, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxss     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4953, Serial#: 10516
    public void maxss_r10516(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0242((byte) 0x5F, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxss     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 4954, Serial#: 10502
    public void m_maxss(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0243((byte) 0x5F, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code maxss     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 4955, Serial#: 10511
    public void m_maxss_r10511(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0244((byte) 0x5F, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxss  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code maxss     xmm0, [rbx + 305419896]}
     */
    // Template#: 4956, Serial#: 10506
    public void maxss(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0245((byte) 0x5F, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code maxss  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code maxss     xmm0, [rbx + 305419896]}
     */
    // Template#: 4957, Serial#: 10515
    public void maxss_r10515(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0246((byte) 0x5F, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mfence  }
     * Example disassembly syntax: {@code mfence  }
     */
    // Template#: 4958, Serial#: 11455
    public void mfence() {
        assemble0692((byte) 0xAE, (byte) 0x06);
    }

    /**
     * Pseudo-external assembler syntax: {@code mfence  }
     * Example disassembly syntax: {@code mfence  }
     */
    // Template#: 4959, Serial#: 11458
    public void mfence_r11458() {
        assemble0693((byte) 0xAE, (byte) 0x06);
    }

    /**
     * Pseudo-external assembler syntax: {@code mfence  }
     * Example disassembly syntax: {@code mfence  }
     */
    // Template#: 4960, Serial#: 11461
    public void mfence_r11461() {
        assemble0694((byte) 0xAE, (byte) 0x06);
    }

    /**
     * Pseudo-external assembler syntax: {@code minpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minpd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 4961, Serial#: 10199
    public void minpd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x5D, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minpd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 4962, Serial#: 10208
    public void minpd_r10208(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x5D, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code minpd     xmm0, [rbx + 18]}
     */
    // Template#: 4963, Serial#: 10198
    public void minpd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x5D, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code minpd     xmm0, [rbx + 18]}
     */
    // Template#: 4964, Serial#: 10207
    public void minpd_r10207(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x5D, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minpd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 4965, Serial#: 10195
    public void minpd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x5D, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minpd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 4966, Serial#: 10204
    public void minpd_r10204(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x5D, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code minpd     xmm0, [rbx]}
     */
    // Template#: 4967, Serial#: 10194
    public void minpd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x5D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code minpd     xmm0, [rbx]}
     */
    // Template#: 4968, Serial#: 10203
    public void minpd_r10203(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x5D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code minpd     xmm0, xmm0}
     */
    // Template#: 4969, Serial#: 10202
    public void minpd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x5D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code minpd     xmm0, xmm0}
     */
    // Template#: 4970, Serial#: 10211
    public void minpd_r10211(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x5D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code minpd     xmm0, [L1: +305419896]}
     */
    // Template#: 4971, Serial#: 10197
    public void rip_minpd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x5D, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code minpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code minpd     xmm0, [L1: +305419896]}
     */
    // Template#: 4972, Serial#: 10206
    public void rip_minpd_r10206(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x5D, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code minpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minpd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4973, Serial#: 10201
    public void minpd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x5D, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minpd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4974, Serial#: 10210
    public void minpd_r10210(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x5D, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minpd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 4975, Serial#: 10196
    public void m_minpd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x5D, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minpd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 4976, Serial#: 10205
    public void m_minpd_r10205(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x5D, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code minpd     xmm0, [rbx + 305419896]}
     */
    // Template#: 4977, Serial#: 10200
    public void minpd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x5D, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code minpd     xmm0, [rbx + 305419896]}
     */
    // Template#: 4978, Serial#: 10209
    public void minpd_r10209(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x5D, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minps     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 4979, Serial#: 10055
    public void minps(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0190((byte) 0x5D, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minps     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 4980, Serial#: 10064
    public void minps_r10064(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0191((byte) 0x5D, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code minps     xmm0, [rbx + 18]}
     */
    // Template#: 4981, Serial#: 10054
    public void minps(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0192((byte) 0x5D, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code minps     xmm0, [rbx + 18]}
     */
    // Template#: 4982, Serial#: 10063
    public void minps_r10063(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0193((byte) 0x5D, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minps     xmm0, rbx[rsi * 4]}
     */
    // Template#: 4983, Serial#: 10051
    public void minps(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0194((byte) 0x5D, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minps     xmm0, rbx[rsi * 4]}
     */
    // Template#: 4984, Serial#: 10060
    public void minps_r10060(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0195((byte) 0x5D, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code minps     xmm0, [rbx]}
     */
    // Template#: 4985, Serial#: 10050
    public void minps(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0196((byte) 0x5D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code minps     xmm0, [rbx]}
     */
    // Template#: 4986, Serial#: 10059
    public void minps_r10059(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0197((byte) 0x5D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code minps     xmm0, xmm0}
     */
    // Template#: 4987, Serial#: 10058
    public void minps(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0198((byte) 0x5D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code minps     xmm0, xmm0}
     */
    // Template#: 4988, Serial#: 10067
    public void minps_r10067(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0199((byte) 0x5D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code minps     xmm0, [L1: +305419896]}
     */
    // Template#: 4989, Serial#: 10053
    public void rip_minps(AMD64XMMRegister destination, int rel32) {
        assemble0200((byte) 0x5D, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code minps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code minps     xmm0, [L1: +305419896]}
     */
    // Template#: 4990, Serial#: 10062
    public void rip_minps_r10062(AMD64XMMRegister destination, int rel32) {
        assemble0201((byte) 0x5D, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code minps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minps     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4991, Serial#: 10057
    public void minps(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0202((byte) 0x5D, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minps     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 4992, Serial#: 10066
    public void minps_r10066(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0203((byte) 0x5D, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minps     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 4993, Serial#: 10052
    public void m_minps(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0204((byte) 0x5D, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minps     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 4994, Serial#: 10061
    public void m_minps_r10061(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0205((byte) 0x5D, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code minps     xmm0, [rbx + 305419896]}
     */
    // Template#: 4995, Serial#: 10056
    public void minps(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0206((byte) 0x5D, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code minps     xmm0, [rbx + 305419896]}
     */
    // Template#: 4996, Serial#: 10065
    public void minps_r10065(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0207((byte) 0x5D, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minsd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minsd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 4997, Serial#: 10325
    public void minsd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0211((byte) 0x5D, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minsd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minsd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 4998, Serial#: 10334
    public void minsd_r10334(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0212((byte) 0x5D, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minsd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code minsd     xmm0, [rbx + 18]}
     */
    // Template#: 4999, Serial#: 10324
    public void minsd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0213((byte) 0x5D, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minsd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code minsd     xmm0, [rbx + 18]}
     */
    // Template#: 5000, Serial#: 10333
    public void minsd_r10333(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0214((byte) 0x5D, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minsd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minsd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 5001, Serial#: 10321
    public void minsd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0215((byte) 0x5D, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minsd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minsd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 5002, Serial#: 10330
    public void minsd_r10330(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0216((byte) 0x5D, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code minsd     xmm0, [rbx]}
     */
    // Template#: 5003, Serial#: 10320
    public void minsd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0217((byte) 0x5D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code minsd     xmm0, [rbx]}
     */
    // Template#: 5004, Serial#: 10329
    public void minsd_r10329(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0218((byte) 0x5D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code minsd     xmm0, xmm0}
     */
    // Template#: 5005, Serial#: 10328
    public void minsd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0219((byte) 0x5D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code minsd     xmm0, xmm0}
     */
    // Template#: 5006, Serial#: 10337
    public void minsd_r10337(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0220((byte) 0x5D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minsd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code minsd     xmm0, [L1: +305419896]}
     */
    // Template#: 5007, Serial#: 10323
    public void rip_minsd(AMD64XMMRegister destination, int rel32) {
        assemble0221((byte) 0x5D, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code minsd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code minsd     xmm0, [L1: +305419896]}
     */
    // Template#: 5008, Serial#: 10332
    public void rip_minsd_r10332(AMD64XMMRegister destination, int rel32) {
        assemble0222((byte) 0x5D, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code minsd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minsd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5009, Serial#: 10327
    public void minsd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0223((byte) 0x5D, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minsd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minsd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5010, Serial#: 10336
    public void minsd_r10336(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0224((byte) 0x5D, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minsd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minsd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5011, Serial#: 10322
    public void m_minsd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0225((byte) 0x5D, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minsd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minsd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5012, Serial#: 10331
    public void m_minsd_r10331(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0226((byte) 0x5D, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minsd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code minsd     xmm0, [rbx + 305419896]}
     */
    // Template#: 5013, Serial#: 10326
    public void minsd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0227((byte) 0x5D, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minsd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code minsd     xmm0, [rbx + 305419896]}
     */
    // Template#: 5014, Serial#: 10335
    public void minsd_r10335(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0228((byte) 0x5D, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minss     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5015, Serial#: 10469
    public void minss(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0229((byte) 0x5D, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minss     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5016, Serial#: 10478
    public void minss_r10478(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0230((byte) 0x5D, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minss  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code minss     xmm0, [rbx + 18]}
     */
    // Template#: 5017, Serial#: 10468
    public void minss(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0231((byte) 0x5D, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minss  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code minss     xmm0, [rbx + 18]}
     */
    // Template#: 5018, Serial#: 10477
    public void minss_r10477(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0232((byte) 0x5D, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minss     xmm0, rbx[rsi * 4]}
     */
    // Template#: 5019, Serial#: 10465
    public void minss(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0233((byte) 0x5D, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minss     xmm0, rbx[rsi * 4]}
     */
    // Template#: 5020, Serial#: 10474
    public void minss_r10474(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0234((byte) 0x5D, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code minss     xmm0, [rbx]}
     */
    // Template#: 5021, Serial#: 10464
    public void minss(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0235((byte) 0x5D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code minss     xmm0, [rbx]}
     */
    // Template#: 5022, Serial#: 10473
    public void minss_r10473(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0236((byte) 0x5D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code minss     xmm0, xmm0}
     */
    // Template#: 5023, Serial#: 10472
    public void minss(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0237((byte) 0x5D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code minss     xmm0, xmm0}
     */
    // Template#: 5024, Serial#: 10481
    public void minss_r10481(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0238((byte) 0x5D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minss  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code minss     xmm0, [L1: +305419896]}
     */
    // Template#: 5025, Serial#: 10467
    public void rip_minss(AMD64XMMRegister destination, int rel32) {
        assemble0239((byte) 0x5D, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code minss  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code minss     xmm0, [L1: +305419896]}
     */
    // Template#: 5026, Serial#: 10476
    public void rip_minss_r10476(AMD64XMMRegister destination, int rel32) {
        assemble0240((byte) 0x5D, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code minss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minss     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5027, Serial#: 10471
    public void minss(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0241((byte) 0x5D, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minss     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5028, Serial#: 10480
    public void minss_r10480(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0242((byte) 0x5D, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minss     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5029, Serial#: 10466
    public void m_minss(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0243((byte) 0x5D, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code minss     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5030, Serial#: 10475
    public void m_minss_r10475(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0244((byte) 0x5D, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code minss  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code minss     xmm0, [rbx + 305419896]}
     */
    // Template#: 5031, Serial#: 10470
    public void minss(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0245((byte) 0x5D, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code minss  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code minss     xmm0, [rbx + 305419896]}
     */
    // Template#: 5032, Serial#: 10479
    public void minss_r10479(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0246((byte) 0x5D, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code movb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 5033, Serial#: 1727
    public void movb(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0703((byte) 0xC6, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code movb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code movb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 5034, Serial#: 1736
    public void movb_r1736(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0704((byte) 0xC6, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code movb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code movb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 5035, Serial#: 1745
    public void movb_r1745(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0705((byte) 0xC6, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rbx[rsi * 4 + 18], ax}
     */
    // Template#: 5036, Serial#: 3703
    public void mov(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0007((byte) 0x89, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rbx[rsi * 4 + 18], eax}
     */
    // Template#: 5037, Serial#: 3685
    public void mov(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0008((byte) 0x89, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rbx[rsi * 4 + 18], rax}
     */
    // Template#: 5038, Serial#: 3694
    public void mov(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0009((byte) 0x89, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rbx[rsi * 4 + 18], al}
     */
    // Template#: 5039, Serial#: 3658
    public void mov(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0010((byte) 0x88, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rbx[rsi * 4 + 18], al}
     */
    // Template#: 5040, Serial#: 3667
    public void mov_r3667(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0011((byte) 0x88, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rbx[rsi * 4 + 18], al}
     */
    // Template#: 5041, Serial#: 3676
    public void mov_r3676(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0012((byte) 0x88, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rbx[rsi * 4 + 18], es}
     */
    // Template#: 5042, Serial#: 3766
    public void mov(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, SegmentRegister source) {
        assemble0706((byte) 0x8C, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rbx[rsi * 4 + 18], es}
     */
    // Template#: 5043, Serial#: 3775
    public void mov_r3775(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, SegmentRegister source) {
        assemble0707((byte) 0x8C, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rbx[rsi * 4 + 18], es}
     */
    // Template#: 5044, Serial#: 3784
    public void mov_r3784(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, SegmentRegister source) {
        assemble0708((byte) 0x8C, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code movl      rbx[rsi * 4 + 18], 0x12345678}
     */
    // Template#: 5045, Serial#: 1754
    public void movl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0709((byte) 0xC7, disp8, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code movq      rbx[rsi * 4 + 18], 0x12345678}
     */
    // Template#: 5046, Serial#: 1763
    public void movq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0710((byte) 0xC7, disp8, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code movw      rbx[rsi * 4 + 18], 0x1234}
     */
    // Template#: 5047, Serial#: 1772
    public void movw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0711((byte) 0xC7, disp8, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code movb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code movb      [rbx + 18], 0x12}
     */
    // Template#: 5048, Serial#: 1726
    public void movb(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0712((byte) 0xC6, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code movb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code movb      [rbx + 18], 0x12}
     */
    // Template#: 5049, Serial#: 1735
    public void movb_r1735(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0713((byte) 0xC6, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code movb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code movb      [rbx + 18], 0x12}
     */
    // Template#: 5050, Serial#: 1744
    public void movb_r1744(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0714((byte) 0xC6, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [rbx + 18], ax}
     */
    // Template#: 5051, Serial#: 3702
    public void mov(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0019((byte) 0x89, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [rbx + 18], eax}
     */
    // Template#: 5052, Serial#: 3684
    public void mov(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0020((byte) 0x89, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [rbx + 18], rax}
     */
    // Template#: 5053, Serial#: 3693
    public void mov(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0021((byte) 0x89, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [rbx + 18], al}
     */
    // Template#: 5054, Serial#: 3657
    public void mov(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0022((byte) 0x88, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [rbx + 18], al}
     */
    // Template#: 5055, Serial#: 3666
    public void mov_r3666(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0023((byte) 0x88, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [rbx + 18], al}
     */
    // Template#: 5056, Serial#: 3675
    public void mov_r3675(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0024((byte) 0x88, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [rbx + 18], es}
     */
    // Template#: 5057, Serial#: 3765
    public void mov(byte disp8, AMD64IndirectRegister64 destination, SegmentRegister source) {
        assemble0715((byte) 0x8C, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [rbx + 18], es}
     */
    // Template#: 5058, Serial#: 3774
    public void mov_r3774(byte disp8, AMD64IndirectRegister64 destination, SegmentRegister source) {
        assemble0716((byte) 0x8C, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [rbx + 18], es}
     */
    // Template#: 5059, Serial#: 3783
    public void mov_r3783(byte disp8, AMD64IndirectRegister64 destination, SegmentRegister source) {
        assemble0717((byte) 0x8C, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movl  }<i>disp8</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code movl      [rbx + 18], 0x12345678}
     */
    // Template#: 5060, Serial#: 1753
    public void movl(byte disp8, AMD64IndirectRegister64 destination, int imm32) {
        assemble0718((byte) 0xC7, disp8, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>disp8</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code movq      [rbx + 18], 0x12345678}
     */
    // Template#: 5061, Serial#: 1762
    public void movq(byte disp8, AMD64IndirectRegister64 destination, int imm32) {
        assemble0719((byte) 0xC7, disp8, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movw  }<i>disp8</i>, <i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code movw      [rbx + 18], 0x1234}
     */
    // Template#: 5062, Serial#: 1771
    public void movw(byte disp8, AMD64IndirectRegister64 destination, short imm16) {
        assemble0720((byte) 0xC7, disp8, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code movb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code movb      rbx[rsi * 4], 0x12}
     */
    // Template#: 5063, Serial#: 1723
    public void movb(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0721((byte) 0xC6, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code movb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code movb      rbx[rsi * 4], 0x12}
     */
    // Template#: 5064, Serial#: 1732
    public void movb_r1732(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0722((byte) 0xC6, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code movb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code movb      rbx[rsi * 4], 0x12}
     */
    // Template#: 5065, Serial#: 1741
    public void movb_r1741(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0723((byte) 0xC6, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rbx[rsi * 4], ax}
     */
    // Template#: 5066, Serial#: 3699
    public void mov(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0031((byte) 0x89, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rbx[rsi * 4], eax}
     */
    // Template#: 5067, Serial#: 3681
    public void mov(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0032((byte) 0x89, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rbx[rsi * 4], rax}
     */
    // Template#: 5068, Serial#: 3690
    public void mov(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0033((byte) 0x89, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rbx[rsi * 4], al}
     */
    // Template#: 5069, Serial#: 3654
    public void mov(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0034((byte) 0x88, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rbx[rsi * 4], al}
     */
    // Template#: 5070, Serial#: 3663
    public void mov_r3663(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0035((byte) 0x88, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rbx[rsi * 4], al}
     */
    // Template#: 5071, Serial#: 3672
    public void mov_r3672(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0036((byte) 0x88, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rbx[rsi * 4], es}
     */
    // Template#: 5072, Serial#: 3762
    public void mov(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, SegmentRegister source) {
        assemble0724((byte) 0x8C, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rbx[rsi * 4], es}
     */
    // Template#: 5073, Serial#: 3771
    public void mov_r3771(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, SegmentRegister source) {
        assemble0725((byte) 0x8C, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rbx[rsi * 4], es}
     */
    // Template#: 5074, Serial#: 3780
    public void mov_r3780(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, SegmentRegister source) {
        assemble0726((byte) 0x8C, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movl  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code movl      rbx[rsi * 4], 0x12345678}
     */
    // Template#: 5075, Serial#: 1750
    public void movl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0727((byte) 0xC7, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code movq      rbx[rsi * 4], 0x12345678}
     */
    // Template#: 5076, Serial#: 1759
    public void movq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0728((byte) 0xC7, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movw  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code movw      rbx[rsi * 4], 0x1234}
     */
    // Template#: 5077, Serial#: 1768
    public void movw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0729((byte) 0xC7, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 5078, Serial#: 3757
    public void mov(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0041((byte) 0x8B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       ax, [rbx + 18]}
     */
    // Template#: 5079, Serial#: 3756
    public void mov(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0042((byte) 0x8B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       ax, rbx[rsi * 4]}
     */
    // Template#: 5080, Serial#: 3753
    public void mov(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0043((byte) 0x8B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       ax, ax}
     */
    // Template#: 5081, Serial#: 3706
    public void mov(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0044((byte) 0x89, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       ax, ax}
     */
    // Template#: 5082, Serial#: 3760
    public void mov_r3760(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0045((byte) 0x8B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       ax, [rbx]}
     */
    // Template#: 5083, Serial#: 3752
    public void mov(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0046((byte) 0x8B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       ax, es}
     */
    // Template#: 5084, Serial#: 3769
    public void mov(AMD64GeneralRegister16 destination, SegmentRegister source) {
        assemble0730((byte) 0x8C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       ax, es}
     */
    // Template#: 5085, Serial#: 3778
    public void mov_r3778(AMD64GeneralRegister16 destination, SegmentRegister source) {
        assemble0731((byte) 0x8C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       ax, es}
     */
    // Template#: 5086, Serial#: 3787
    public void mov_r3787(AMD64GeneralRegister16 destination, SegmentRegister source) {
        assemble0732((byte) 0x8C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code mov       ax, [L1: +305419896]}
     */
    // Template#: 5087, Serial#: 3755
    public void rip_mov(AMD64GeneralRegister16 destination, int rel32) {
        assemble0047((byte) 0x8B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5088, Serial#: 3759
    public void mov(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0048((byte) 0x8B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       ax, 0x12345678[rsi * 4]}
     */
    // Template#: 5089, Serial#: 3754
    public void m_mov(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0049((byte) 0x8B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       ax, [rbx + 305419896]}
     */
    // Template#: 5090, Serial#: 3758
    public void mov(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0050((byte) 0x8B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movw  }<i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code movw      ax, 0x1234}
     */
    // Template#: 5091, Serial#: 1775
    public void movw(AMD64GeneralRegister16 destination, short imm16) {
        assemble0733((byte) 0xC7, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>register</i>, <i>imm16</i>
     * Example disassembly syntax: {@code mov       ax, 0x1234}
     */
    // Template#: 5092, Serial#: 3900
    public void mov(AMD64GeneralRegister16 register, short imm16) {
        assemble0734((byte) 0xB8, register, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 5093, Serial#: 3739
    public void mov(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0053((byte) 0x8B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       eax, [rbx + 18]}
     */
    // Template#: 5094, Serial#: 3738
    public void mov(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0054((byte) 0x8B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       eax, rbx[rsi * 4]}
     */
    // Template#: 5095, Serial#: 3735
    public void mov(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0055((byte) 0x8B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       eax, eax}
     */
    // Template#: 5096, Serial#: 3688
    public void mov(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0056((byte) 0x89, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       eax, eax}
     */
    // Template#: 5097, Serial#: 3742
    public void mov_r3742(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0057((byte) 0x8B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       eax, [rbx]}
     */
    // Template#: 5098, Serial#: 3734
    public void mov(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0058((byte) 0x8B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movl  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code movl      eax, 0x12345678}
     */
    // Template#: 5099, Serial#: 1757
    public void movl(AMD64GeneralRegister32 destination, int imm32) {
        assemble0735((byte) 0xC7, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code mov       eax, [L1: +305419896]}
     */
    // Template#: 5100, Serial#: 3737
    public void rip_mov(AMD64GeneralRegister32 destination, int rel32) {
        assemble0059((byte) 0x8B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>register</i>, <i>imm32</i>
     * Example disassembly syntax: {@code mov       eax, 0x12345678}
     */
    // Template#: 5101, Serial#: 3898
    public void mov(AMD64GeneralRegister32 register, int imm32) {
        assemble0736((byte) 0xB8, register, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5102, Serial#: 3741
    public void mov(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0061((byte) 0x8B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       eax, 0x12345678[rsi * 4]}
     */
    // Template#: 5103, Serial#: 3736
    public void m_mov(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0062((byte) 0x8B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       eax, [rbx + 305419896]}
     */
    // Template#: 5104, Serial#: 3740
    public void mov(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0063((byte) 0x8B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 5105, Serial#: 3748
    public void mov(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0065((byte) 0x8B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rax, [rbx + 18]}
     */
    // Template#: 5106, Serial#: 3747
    public void mov(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0066((byte) 0x8B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       rax, rbx[rsi * 4]}
     */
    // Template#: 5107, Serial#: 3744
    public void mov(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0067((byte) 0x8B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rax, rax}
     */
    // Template#: 5108, Serial#: 3697
    public void mov(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0068((byte) 0x89, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rax, rax}
     */
    // Template#: 5109, Serial#: 3751
    public void mov_r3751(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0069((byte) 0x8B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rax, [rbx]}
     */
    // Template#: 5110, Serial#: 3743
    public void mov(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0070((byte) 0x8B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rax, cr0}
     */
    // Template#: 5111, Serial#: 6341
    public void mov(AMD64GeneralRegister64 destination, ControlRegister source) {
        assemble0737((byte) 0x20, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rax, cr0}
     */
    // Template#: 5112, Serial#: 6342
    public void mov_r6342(AMD64GeneralRegister64 destination, ControlRegister source) {
        assemble0738((byte) 0x20, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rax, cr0}
     */
    // Template#: 5113, Serial#: 6343
    public void mov_r6343(AMD64GeneralRegister64 destination, ControlRegister source) {
        assemble0739((byte) 0x20, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rax, dr0}
     */
    // Template#: 5114, Serial#: 6344
    public void mov(AMD64GeneralRegister64 destination, DebugRegister source) {
        assemble0740((byte) 0x21, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rax, dr0}
     */
    // Template#: 5115, Serial#: 6345
    public void mov_r6345(AMD64GeneralRegister64 destination, DebugRegister source) {
        assemble0741((byte) 0x21, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rax, dr0}
     */
    // Template#: 5116, Serial#: 6346
    public void mov_r6346(AMD64GeneralRegister64 destination, DebugRegister source) {
        assemble0742((byte) 0x21, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code movq      rax, 0x12345678}
     */
    // Template#: 5117, Serial#: 1766
    public void movq(AMD64GeneralRegister64 destination, int imm32) {
        assemble0743((byte) 0xC7, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code mov       rax, [L1: +305419896]}
     */
    // Template#: 5118, Serial#: 3746
    public void rip_mov(AMD64GeneralRegister64 destination, int rel32) {
        assemble0071((byte) 0x8B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5119, Serial#: 3750
    public void mov(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0073((byte) 0x8B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       rax, 0x12345678[rsi * 4]}
     */
    // Template#: 5120, Serial#: 3745
    public void m_mov(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0074((byte) 0x8B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rax, [rbx + 305419896]}
     */
    // Template#: 5121, Serial#: 3749
    public void mov(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0075((byte) 0x8B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>register</i>, <i>imm64</i>
     * Example disassembly syntax: {@code mov       rax, 0x123456789ABCDE}
     */
    // Template#: 5122, Serial#: 3899
    public void mov(AMD64GeneralRegister64 register, long imm64) {
        assemble0744((byte) 0xB8, register, imm64);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>register</i>, <i>imm8</i>
     * Example disassembly syntax: {@code mov       al, 0x12}
     */
    // Template#: 5123, Serial#: 1283
    public void mov(AMD64GeneralRegister8 register, byte imm8) {
        assemble0745((byte) 0xB0, register, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>register</i>, <i>imm8</i>
     * Example disassembly syntax: {@code mov       al, 0x12}
     */
    // Template#: 5124, Serial#: 1284
    public void mov_r1284(AMD64GeneralRegister8 register, byte imm8) {
        assemble0746((byte) 0xB0, register, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>register</i>, <i>imm8</i>
     * Example disassembly syntax: {@code mov       al, 0x12}
     */
    // Template#: 5125, Serial#: 1285
    public void mov_r1285(AMD64GeneralRegister8 register, byte imm8) {
        assemble0747((byte) 0xB0, register, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code movb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code movb      al, 0x12}
     */
    // Template#: 5126, Serial#: 1730
    public void movb(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0748((byte) 0xC6, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code movb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code movb      al, 0x12}
     */
    // Template#: 5127, Serial#: 1739
    public void movb_r1739(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0749((byte) 0xC6, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code movb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code movb      al, 0x12}
     */
    // Template#: 5128, Serial#: 1748
    public void movb_r1748(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0750((byte) 0xC6, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       al, rbx[rsi * 4 + 18]}
     */
    // Template#: 5129, Serial#: 3712
    public void mov(AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0079((byte) 0x8A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       al, rbx[rsi * 4 + 18]}
     */
    // Template#: 5130, Serial#: 3721
    public void mov_r3721(AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0080((byte) 0x8A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       al, rbx[rsi * 4 + 18]}
     */
    // Template#: 5131, Serial#: 3730
    public void mov_r3730(AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0081((byte) 0x8A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       al, [rbx + 18]}
     */
    // Template#: 5132, Serial#: 3711
    public void mov(AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0082((byte) 0x8A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       al, [rbx + 18]}
     */
    // Template#: 5133, Serial#: 3720
    public void mov_r3720(AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0083((byte) 0x8A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       al, [rbx + 18]}
     */
    // Template#: 5134, Serial#: 3729
    public void mov_r3729(AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0084((byte) 0x8A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       al, rbx[rsi * 4]}
     */
    // Template#: 5135, Serial#: 3708
    public void mov(AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0085((byte) 0x8A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       al, rbx[rsi * 4]}
     */
    // Template#: 5136, Serial#: 3717
    public void mov_r3717(AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0086((byte) 0x8A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       al, rbx[rsi * 4]}
     */
    // Template#: 5137, Serial#: 3726
    public void mov_r3726(AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0087((byte) 0x8A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       al, al}
     */
    // Template#: 5138, Serial#: 3661
    public void mov(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0088((byte) 0x88, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       al, al}
     */
    // Template#: 5139, Serial#: 3670
    public void mov_r3670(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0089((byte) 0x88, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       al, al}
     */
    // Template#: 5140, Serial#: 3679
    public void mov_r3679(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0090((byte) 0x88, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       al, al}
     */
    // Template#: 5141, Serial#: 3715
    public void mov_r3715(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0091((byte) 0x8A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       al, al}
     */
    // Template#: 5142, Serial#: 3724
    public void mov_r3724(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0092((byte) 0x8A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       al, al}
     */
    // Template#: 5143, Serial#: 3733
    public void mov_r3733(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0093((byte) 0x8A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       al, [rbx]}
     */
    // Template#: 5144, Serial#: 3707
    public void mov(AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        assemble0094((byte) 0x8A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       al, [rbx]}
     */
    // Template#: 5145, Serial#: 3716
    public void mov_r3716(AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        assemble0095((byte) 0x8A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       al, [rbx]}
     */
    // Template#: 5146, Serial#: 3725
    public void mov_r3725(AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        assemble0096((byte) 0x8A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code mov       al, [L1: +305419896]}
     */
    // Template#: 5147, Serial#: 3710
    public void rip_mov(AMD64GeneralRegister8 destination, int rel32) {
        assemble0097((byte) 0x8A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code mov       al, [L1: +305419896]}
     */
    // Template#: 5148, Serial#: 3719
    public void rip_mov_r3719(AMD64GeneralRegister8 destination, int rel32) {
        assemble0098((byte) 0x8A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code mov       al, [L1: +305419896]}
     */
    // Template#: 5149, Serial#: 3728
    public void rip_mov_r3728(AMD64GeneralRegister8 destination, int rel32) {
        assemble0099((byte) 0x8A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       al, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5150, Serial#: 3714
    public void mov(AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0100((byte) 0x8A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       al, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5151, Serial#: 3723
    public void mov_r3723(AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0101((byte) 0x8A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       al, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5152, Serial#: 3732
    public void mov_r3732(AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0102((byte) 0x8A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       al, 0x12345678[rsi * 4]}
     */
    // Template#: 5153, Serial#: 3709
    public void m_mov(AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0103((byte) 0x8A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       al, 0x12345678[rsi * 4]}
     */
    // Template#: 5154, Serial#: 3718
    public void m_mov_r3718(AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0104((byte) 0x8A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       al, 0x12345678[rsi * 4]}
     */
    // Template#: 5155, Serial#: 3727
    public void m_mov_r3727(AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0105((byte) 0x8A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       al, [rbx + 305419896]}
     */
    // Template#: 5156, Serial#: 3713
    public void mov(AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0106((byte) 0x8A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       al, [rbx + 305419896]}
     */
    // Template#: 5157, Serial#: 3722
    public void mov_r3722(AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0107((byte) 0x8A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       al, [rbx + 305419896]}
     */
    // Template#: 5158, Serial#: 3731
    public void mov_r3731(AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0108((byte) 0x8A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code movb      [rbx], 0x12}
     */
    // Template#: 5159, Serial#: 1722
    public void movb(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0751((byte) 0xC6, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code movb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code movb      [rbx], 0x12}
     */
    // Template#: 5160, Serial#: 1731
    public void movb_r1731(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0752((byte) 0xC6, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code movb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code movb      [rbx], 0x12}
     */
    // Template#: 5161, Serial#: 1740
    public void movb_r1740(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0753((byte) 0xC6, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [rbx], ax}
     */
    // Template#: 5162, Serial#: 3698
    public void mov(AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0112((byte) 0x89, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [rbx], eax}
     */
    // Template#: 5163, Serial#: 3680
    public void mov(AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0113((byte) 0x89, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [rbx], rax}
     */
    // Template#: 5164, Serial#: 3689
    public void mov(AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0114((byte) 0x89, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [rbx], al}
     */
    // Template#: 5165, Serial#: 3653
    public void mov(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0115((byte) 0x88, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [rbx], al}
     */
    // Template#: 5166, Serial#: 3662
    public void mov_r3662(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0116((byte) 0x88, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [rbx], al}
     */
    // Template#: 5167, Serial#: 3671
    public void mov_r3671(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0117((byte) 0x88, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [rbx], es}
     */
    // Template#: 5168, Serial#: 3761
    public void mov(AMD64IndirectRegister64 destination, SegmentRegister source) {
        assemble0754((byte) 0x8C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [rbx], es}
     */
    // Template#: 5169, Serial#: 3770
    public void mov_r3770(AMD64IndirectRegister64 destination, SegmentRegister source) {
        assemble0755((byte) 0x8C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [rbx], es}
     */
    // Template#: 5170, Serial#: 3779
    public void mov_r3779(AMD64IndirectRegister64 destination, SegmentRegister source) {
        assemble0756((byte) 0x8C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movl  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code movl      [rbx], 0x12345678}
     */
    // Template#: 5171, Serial#: 1749
    public void movl(AMD64IndirectRegister64 destination, int imm32) {
        assemble0757((byte) 0xC7, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code movq      [rbx], 0x12345678}
     */
    // Template#: 5172, Serial#: 1758
    public void movq(AMD64IndirectRegister64 destination, int imm32) {
        assemble0758((byte) 0xC7, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movw  }<i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code movw      [rbx], 0x1234}
     */
    // Template#: 5173, Serial#: 1767
    public void movw(AMD64IndirectRegister64 destination, short imm16) {
        assemble0759((byte) 0xC7, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       cr0, rax}
     */
    // Template#: 5174, Serial#: 6347
    public void mov(ControlRegister destination, AMD64GeneralRegister64 source) {
        assemble0760((byte) 0x22, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       cr0, rax}
     */
    // Template#: 5175, Serial#: 6348
    public void mov_r6348(ControlRegister destination, AMD64GeneralRegister64 source) {
        assemble0761((byte) 0x22, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       cr0, rax}
     */
    // Template#: 5176, Serial#: 6349
    public void mov_r6349(ControlRegister destination, AMD64GeneralRegister64 source) {
        assemble0762((byte) 0x22, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       dr0, rax}
     */
    // Template#: 5177, Serial#: 6350
    public void mov(DebugRegister destination, AMD64GeneralRegister64 source) {
        assemble0763((byte) 0x23, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       dr0, rax}
     */
    // Template#: 5178, Serial#: 6351
    public void mov_r6351(DebugRegister destination, AMD64GeneralRegister64 source) {
        assemble0764((byte) 0x23, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       dr0, rax}
     */
    // Template#: 5179, Serial#: 6352
    public void mov_r6352(DebugRegister destination, AMD64GeneralRegister64 source) {
        assemble0765((byte) 0x23, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       es, rbx[rsi * 4 + 18]}
     */
    // Template#: 5180, Serial#: 3817
    public void mov(SegmentRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0766((byte) 0x8E, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       es, rbx[rsi * 4 + 18]}
     */
    // Template#: 5181, Serial#: 3826
    public void mov_r3826(SegmentRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0767((byte) 0x8E, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       es, rbx[rsi * 4 + 18]}
     */
    // Template#: 5182, Serial#: 3835
    public void mov_r3835(SegmentRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0768((byte) 0x8E, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       es, [rbx + 18]}
     */
    // Template#: 5183, Serial#: 3816
    public void mov(SegmentRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0769((byte) 0x8E, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       es, [rbx + 18]}
     */
    // Template#: 5184, Serial#: 3825
    public void mov_r3825(SegmentRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0770((byte) 0x8E, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       es, [rbx + 18]}
     */
    // Template#: 5185, Serial#: 3834
    public void mov_r3834(SegmentRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0771((byte) 0x8E, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       es, rbx[rsi * 4]}
     */
    // Template#: 5186, Serial#: 3813
    public void mov(SegmentRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0772((byte) 0x8E, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       es, rbx[rsi * 4]}
     */
    // Template#: 5187, Serial#: 3822
    public void mov_r3822(SegmentRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0773((byte) 0x8E, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       es, rbx[rsi * 4]}
     */
    // Template#: 5188, Serial#: 3831
    public void mov_r3831(SegmentRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0774((byte) 0x8E, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       es, ax}
     */
    // Template#: 5189, Serial#: 3820
    public void mov(SegmentRegister destination, AMD64GeneralRegister16 source) {
        assemble0775((byte) 0x8E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       es, ax}
     */
    // Template#: 5190, Serial#: 3829
    public void mov_r3829(SegmentRegister destination, AMD64GeneralRegister16 source) {
        assemble0776((byte) 0x8E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       es, ax}
     */
    // Template#: 5191, Serial#: 3838
    public void mov_r3838(SegmentRegister destination, AMD64GeneralRegister16 source) {
        assemble0777((byte) 0x8E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       es, [rbx]}
     */
    // Template#: 5192, Serial#: 3812
    public void mov(SegmentRegister destination, AMD64IndirectRegister64 source) {
        assemble0778((byte) 0x8E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       es, [rbx]}
     */
    // Template#: 5193, Serial#: 3821
    public void mov_r3821(SegmentRegister destination, AMD64IndirectRegister64 source) {
        assemble0779((byte) 0x8E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       es, [rbx]}
     */
    // Template#: 5194, Serial#: 3830
    public void mov_r3830(SegmentRegister destination, AMD64IndirectRegister64 source) {
        assemble0780((byte) 0x8E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code mov       es, [L1: +305419896]}
     */
    // Template#: 5195, Serial#: 3815
    public void rip_mov(SegmentRegister destination, int rel32) {
        assemble0781((byte) 0x8E, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code mov       es, [L1: +305419896]}
     */
    // Template#: 5196, Serial#: 3824
    public void rip_mov_r3824(SegmentRegister destination, int rel32) {
        assemble0782((byte) 0x8E, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code mov       es, [L1: +305419896]}
     */
    // Template#: 5197, Serial#: 3833
    public void rip_mov_r3833(SegmentRegister destination, int rel32) {
        assemble0783((byte) 0x8E, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       es, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5198, Serial#: 3819
    public void mov(SegmentRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0784((byte) 0x8E, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       es, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5199, Serial#: 3828
    public void mov_r3828(SegmentRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0785((byte) 0x8E, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       es, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5200, Serial#: 3837
    public void mov_r3837(SegmentRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0786((byte) 0x8E, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       es, 0x12345678[rsi * 4]}
     */
    // Template#: 5201, Serial#: 3814
    public void m_mov(SegmentRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0787((byte) 0x8E, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       es, 0x12345678[rsi * 4]}
     */
    // Template#: 5202, Serial#: 3823
    public void m_mov_r3823(SegmentRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0788((byte) 0x8E, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mov       es, 0x12345678[rsi * 4]}
     */
    // Template#: 5203, Serial#: 3832
    public void m_mov_r3832(SegmentRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0789((byte) 0x8E, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       es, [rbx + 305419896]}
     */
    // Template#: 5204, Serial#: 3818
    public void mov(SegmentRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0790((byte) 0x8E, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       es, [rbx + 305419896]}
     */
    // Template#: 5205, Serial#: 3827
    public void mov_r3827(SegmentRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0791((byte) 0x8E, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       es, [rbx + 305419896]}
     */
    // Template#: 5206, Serial#: 3836
    public void mov_r3836(SegmentRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0792((byte) 0x8E, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code movb      [L1: +305419896], 0x12}
     */
    // Template#: 5207, Serial#: 1725
    public void rip_movb(int rel32, byte imm8) {
        assemble0793((byte) 0xC6, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code movb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code movb      [L1: +305419896], 0x12}
     */
    // Template#: 5208, Serial#: 1734
    public void rip_movb_r1734(int rel32, byte imm8) {
        assemble0794((byte) 0xC6, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code movb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code movb      [L1: +305419896], 0x12}
     */
    // Template#: 5209, Serial#: 1743
    public void rip_movb_r1743(int rel32, byte imm8) {
        assemble0795((byte) 0xC6, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code movb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code movb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 5210, Serial#: 1729
    public void movb(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0796((byte) 0xC6, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code movb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code movb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 5211, Serial#: 1738
    public void movb_r1738(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0797((byte) 0xC6, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code movb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code movb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 5212, Serial#: 1747
    public void movb_r1747(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0798((byte) 0xC6, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rbx[rsi * 4 + 305419896], ax}
     */
    // Template#: 5213, Serial#: 3705
    public void mov(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0129((byte) 0x89, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rbx[rsi * 4 + 305419896], eax}
     */
    // Template#: 5214, Serial#: 3687
    public void mov(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0130((byte) 0x89, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rbx[rsi * 4 + 305419896], rax}
     */
    // Template#: 5215, Serial#: 3696
    public void mov(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0131((byte) 0x89, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 5216, Serial#: 3660
    public void mov(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0132((byte) 0x88, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 5217, Serial#: 3669
    public void mov_r3669(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0133((byte) 0x88, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 5218, Serial#: 3678
    public void mov_r3678(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0134((byte) 0x88, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rbx[rsi * 4 + 305419896], es}
     */
    // Template#: 5219, Serial#: 3768
    public void mov(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, SegmentRegister source) {
        assemble0799((byte) 0x8C, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rbx[rsi * 4 + 305419896], es}
     */
    // Template#: 5220, Serial#: 3777
    public void mov_r3777(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, SegmentRegister source) {
        assemble0800((byte) 0x8C, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       rbx[rsi * 4 + 305419896], es}
     */
    // Template#: 5221, Serial#: 3786
    public void mov_r3786(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, SegmentRegister source) {
        assemble0801((byte) 0x8C, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code movl      rbx[rsi * 4 + 305419896], 0x12345678}
     */
    // Template#: 5222, Serial#: 1756
    public void movl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0802((byte) 0xC7, disp32, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code movq      rbx[rsi * 4 + 305419896], 0x12345678}
     */
    // Template#: 5223, Serial#: 1765
    public void movq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0803((byte) 0xC7, disp32, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code movw      rbx[rsi * 4 + 305419896], 0x1234}
     */
    // Template#: 5224, Serial#: 1774
    public void movw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0804((byte) 0xC7, disp32, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [L1: +305419896], ax}
     */
    // Template#: 5225, Serial#: 3701
    public void rip_mov(int rel32, AMD64GeneralRegister16 source) {
        assemble0138((byte) 0x89, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [L1: +305419896], eax}
     */
    // Template#: 5226, Serial#: 3683
    public void rip_mov(int rel32, AMD64GeneralRegister32 source) {
        assemble0139((byte) 0x89, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [L1: +305419896], rax}
     */
    // Template#: 5227, Serial#: 3692
    public void rip_mov(int rel32, AMD64GeneralRegister64 source) {
        assemble0140((byte) 0x89, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [L1: +305419896], al}
     */
    // Template#: 5228, Serial#: 3656
    public void rip_mov(int rel32, AMD64GeneralRegister8 source) {
        assemble0141((byte) 0x88, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [L1: +305419896], al}
     */
    // Template#: 5229, Serial#: 3665
    public void rip_mov_r3665(int rel32, AMD64GeneralRegister8 source) {
        assemble0142((byte) 0x88, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [L1: +305419896], al}
     */
    // Template#: 5230, Serial#: 3674
    public void rip_mov_r3674(int rel32, AMD64GeneralRegister8 source) {
        assemble0143((byte) 0x88, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code movb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 5231, Serial#: 1724
    public void m_movb(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0805((byte) 0xC6, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code movb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code movb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 5232, Serial#: 1733
    public void m_movb_r1733(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0806((byte) 0xC6, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code movb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code movb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 5233, Serial#: 1742
    public void m_movb_r1742(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0807((byte) 0xC6, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       0x12345678[rsi * 4], ax}
     */
    // Template#: 5234, Serial#: 3700
    public void m_mov(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0147((byte) 0x89, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       0x12345678[rsi * 4], eax}
     */
    // Template#: 5235, Serial#: 3682
    public void m_mov(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0148((byte) 0x89, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       0x12345678[rsi * 4], rax}
     */
    // Template#: 5236, Serial#: 3691
    public void m_mov(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0149((byte) 0x89, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       0x12345678[rsi * 4], al}
     */
    // Template#: 5237, Serial#: 3655
    public void m_mov(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0150((byte) 0x88, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       0x12345678[rsi * 4], al}
     */
    // Template#: 5238, Serial#: 3664
    public void m_mov_r3664(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0151((byte) 0x88, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       0x12345678[rsi * 4], al}
     */
    // Template#: 5239, Serial#: 3673
    public void m_mov_r3673(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0152((byte) 0x88, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       0x12345678[rsi * 4], es}
     */
    // Template#: 5240, Serial#: 3763
    public void m_mov(int m32, AMD64IndexRegister64 index, Scale scale, SegmentRegister source) {
        assemble0808((byte) 0x8C, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       0x12345678[rsi * 4], es}
     */
    // Template#: 5241, Serial#: 3772
    public void m_mov_r3772(int m32, AMD64IndexRegister64 index, Scale scale, SegmentRegister source) {
        assemble0809((byte) 0x8C, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       0x12345678[rsi * 4], es}
     */
    // Template#: 5242, Serial#: 3781
    public void m_mov_r3781(int m32, AMD64IndexRegister64 index, Scale scale, SegmentRegister source) {
        assemble0810((byte) 0x8C, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movl  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code movl      0x12345678[rsi * 4], 0x12345678}
     */
    // Template#: 5243, Serial#: 1751
    public void m_movl(int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0811((byte) 0xC7, m32, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code movq      0x12345678[rsi * 4], 0x12345678}
     */
    // Template#: 5244, Serial#: 1760
    public void m_movq(int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0812((byte) 0xC7, m32, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movw  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code movw      0x12345678[rsi * 4], 0x1234}
     */
    // Template#: 5245, Serial#: 1769
    public void m_movw(int m32, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0813((byte) 0xC7, m32, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code movb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code movb      [rbx + 305419896], 0x12}
     */
    // Template#: 5246, Serial#: 1728
    public void movb(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0814((byte) 0xC6, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code movb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code movb      [rbx + 305419896], 0x12}
     */
    // Template#: 5247, Serial#: 1737
    public void movb_r1737(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0815((byte) 0xC6, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code movb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code movb      [rbx + 305419896], 0x12}
     */
    // Template#: 5248, Serial#: 1746
    public void movb_r1746(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0816((byte) 0xC6, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [rbx + 305419896], ax}
     */
    // Template#: 5249, Serial#: 3704
    public void mov(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0159((byte) 0x89, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [rbx + 305419896], eax}
     */
    // Template#: 5250, Serial#: 3686
    public void mov(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0160((byte) 0x89, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [rbx + 305419896], rax}
     */
    // Template#: 5251, Serial#: 3695
    public void mov(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0161((byte) 0x89, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [rbx + 305419896], al}
     */
    // Template#: 5252, Serial#: 3659
    public void mov(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0162((byte) 0x88, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [rbx + 305419896], al}
     */
    // Template#: 5253, Serial#: 3668
    public void mov_r3668(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0163((byte) 0x88, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [rbx + 305419896], al}
     */
    // Template#: 5254, Serial#: 3677
    public void mov_r3677(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0164((byte) 0x88, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [rbx + 305419896], es}
     */
    // Template#: 5255, Serial#: 3767
    public void mov(int disp32, AMD64IndirectRegister64 destination, SegmentRegister source) {
        assemble0817((byte) 0x8C, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [rbx + 305419896], es}
     */
    // Template#: 5256, Serial#: 3776
    public void mov_r3776(int disp32, AMD64IndirectRegister64 destination, SegmentRegister source) {
        assemble0818((byte) 0x8C, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [rbx + 305419896], es}
     */
    // Template#: 5257, Serial#: 3785
    public void mov_r3785(int disp32, AMD64IndirectRegister64 destination, SegmentRegister source) {
        assemble0819((byte) 0x8C, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movl  }<i>disp32</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code movl      [rbx + 305419896], 0x12345678}
     */
    // Template#: 5258, Serial#: 1755
    public void movl(int disp32, AMD64IndirectRegister64 destination, int imm32) {
        assemble0820((byte) 0xC7, disp32, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>disp32</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code movq      [rbx + 305419896], 0x12345678}
     */
    // Template#: 5259, Serial#: 1764
    public void movq(int disp32, AMD64IndirectRegister64 destination, int imm32) {
        assemble0821((byte) 0xC7, disp32, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movw  }<i>disp32</i>, <i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code movw      [rbx + 305419896], 0x1234}
     */
    // Template#: 5260, Serial#: 1773
    public void movw(int disp32, AMD64IndirectRegister64 destination, short imm16) {
        assemble0822((byte) 0xC7, disp32, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [L1: +305419896], es}
     */
    // Template#: 5261, Serial#: 3764
    public void rip_mov(int rel32, SegmentRegister source) {
        assemble0823((byte) 0x8C, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [L1: +305419896], es}
     */
    // Template#: 5262, Serial#: 3773
    public void rip_mov_r3773(int rel32, SegmentRegister source) {
        assemble0824((byte) 0x8C, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code mov       [L1: +305419896], es}
     */
    // Template#: 5263, Serial#: 3782
    public void rip_mov_r3782(int rel32, SegmentRegister source) {
        assemble0825((byte) 0x8C, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movl  }<i>rel32</i>, <i>imm32</i>
     * Example disassembly syntax: {@code movl      [L1: +305419896], 0x12345678}
     */
    // Template#: 5264, Serial#: 1752
    public void rip_movl(int rel32, int imm32) {
        assemble0826((byte) 0xC7, rel32, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>rel32</i>, <i>imm32</i>
     * Example disassembly syntax: {@code movq      [L1: +305419896], 0x12345678}
     */
    // Template#: 5265, Serial#: 1761
    public void rip_movq(int rel32, int imm32) {
        assemble0827((byte) 0xC7, rel32, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movw  }<i>rel32</i>, <i>imm16</i>
     * Example disassembly syntax: {@code movw      [L1: +305419896], 0x1234}
     */
    // Template#: 5266, Serial#: 1770
    public void rip_movw(int rel32, short imm16) {
        assemble0828((byte) 0xC7, rel32, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>m64</i>
     * Example disassembly syntax: {@code mov       al, [L1: 0x123456789ABCDE]}
     */
    // Template#: 5267, Serial#: 1259
    public void m_mov_AL(long m64) {
        assemble0829((byte) 0xA0, m64);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>m64</i>
     * Example disassembly syntax: {@code mov       al, [L1: 0x123456789ABCDE]}
     */
    // Template#: 5268, Serial#: 1260
    public void m_mov_AL_r1260(long m64) {
        assemble0830((byte) 0xA0, m64);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>m64</i>
     * Example disassembly syntax: {@code mov       al, [L1: 0x123456789ABCDE]}
     */
    // Template#: 5269, Serial#: 1261
    public void m_mov_AL_r1261(long m64) {
        assemble0831((byte) 0xA0, m64);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>m64</i>
     * Example disassembly syntax: {@code mov       eax, [L1: 0x123456789ABCDE]}
     */
    // Template#: 5270, Serial#: 1262
    public void m_mov_EAX(long m64) {
        assemble0829((byte) 0xA1, m64);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>m64</i>
     * Example disassembly syntax: {@code mov       rax, [L1: 0x123456789ABCDE]}
     */
    // Template#: 5271, Serial#: 1263
    public void m_mov_RAX(long m64) {
        assemble0830((byte) 0xA1, m64);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>m64</i>
     * Example disassembly syntax: {@code mov       ax, [L1: 0x123456789ABCDE]}
     */
    // Template#: 5272, Serial#: 1264
    public void m_mov_AX(long m64) {
        assemble0831((byte) 0xA1, m64);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>m64</i>
     * Example disassembly syntax: {@code mov       [L1: 0x123456789ABCDE], al}
     */
    // Template#: 5273, Serial#: 1265
    public void m_mov___AL(long m64) {
        assemble0829((byte) 0xA2, m64);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>m64</i>
     * Example disassembly syntax: {@code mov       [L1: 0x123456789ABCDE], al}
     */
    // Template#: 5274, Serial#: 1266
    public void m_mov___AL_r1266(long m64) {
        assemble0830((byte) 0xA2, m64);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>m64</i>
     * Example disassembly syntax: {@code mov       [L1: 0x123456789ABCDE], al}
     */
    // Template#: 5275, Serial#: 1267
    public void m_mov___AL_r1267(long m64) {
        assemble0831((byte) 0xA2, m64);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>m64</i>
     * Example disassembly syntax: {@code mov       [L1: 0x123456789ABCDE], eax}
     */
    // Template#: 5276, Serial#: 1268
    public void m_mov___EAX(long m64) {
        assemble0829((byte) 0xA3, m64);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>m64</i>
     * Example disassembly syntax: {@code mov       [L1: 0x123456789ABCDE], rax}
     */
    // Template#: 5277, Serial#: 1269
    public void m_mov___RAX(long m64) {
        assemble0830((byte) 0xA3, m64);
    }

    /**
     * Pseudo-external assembler syntax: {@code mov  }<i>m64</i>
     * Example disassembly syntax: {@code mov       [L1: 0x123456789ABCDE], ax}
     */
    // Template#: 5278, Serial#: 1270
    public void m_mov___AX(long m64) {
        assemble0831((byte) 0xA3, m64);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movapd    rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5279, Serial#: 9500
    public void movapd(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0832((byte) 0x29, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movapd    rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5280, Serial#: 9509
    public void movapd_r9509(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0833((byte) 0x29, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movapd    [rbx + 18], xmm0}
     */
    // Template#: 5281, Serial#: 9499
    public void movapd(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0834((byte) 0x29, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movapd    [rbx + 18], xmm0}
     */
    // Template#: 5282, Serial#: 9508
    public void movapd_r9508(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0835((byte) 0x29, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movapd    rbx[rsi * 4], xmm0}
     */
    // Template#: 5283, Serial#: 9496
    public void movapd(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0836((byte) 0x29, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movapd    rbx[rsi * 4], xmm0}
     */
    // Template#: 5284, Serial#: 9505
    public void movapd_r9505(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0837((byte) 0x29, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movapd    [rbx], xmm0}
     */
    // Template#: 5285, Serial#: 9495
    public void movapd(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0838((byte) 0x29, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movapd    [rbx], xmm0}
     */
    // Template#: 5286, Serial#: 9504
    public void movapd_r9504(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0839((byte) 0x29, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movapd    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5287, Serial#: 9482
    public void movapd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x28, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movapd    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5288, Serial#: 9491
    public void movapd_r9491(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x28, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movapd    xmm0, [rbx + 18]}
     */
    // Template#: 5289, Serial#: 9481
    public void movapd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x28, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movapd    xmm0, [rbx + 18]}
     */
    // Template#: 5290, Serial#: 9490
    public void movapd_r9490(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x28, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movapd    xmm0, rbx[rsi * 4]}
     */
    // Template#: 5291, Serial#: 9478
    public void movapd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x28, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movapd    xmm0, rbx[rsi * 4]}
     */
    // Template#: 5292, Serial#: 9487
    public void movapd_r9487(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x28, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movapd    xmm0, [rbx]}
     */
    // Template#: 5293, Serial#: 9477
    public void movapd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x28, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movapd    xmm0, [rbx]}
     */
    // Template#: 5294, Serial#: 9486
    public void movapd_r9486(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x28, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movapd    xmm0, xmm0}
     */
    // Template#: 5295, Serial#: 9485
    public void movapd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x28, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movapd    xmm0, xmm0}
     */
    // Template#: 5296, Serial#: 9494
    public void movapd_r9494(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x28, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movapd    xmm0, xmm0}
     */
    // Template#: 5297, Serial#: 9503
    public void movapd_r9503(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0840((byte) 0x29, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movapd    xmm0, xmm0}
     */
    // Template#: 5298, Serial#: 9512
    public void movapd_r9512(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0841((byte) 0x29, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movapd    xmm0, [L1: +305419896]}
     */
    // Template#: 5299, Serial#: 9480
    public void rip_movapd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x28, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movapd    xmm0, [L1: +305419896]}
     */
    // Template#: 5300, Serial#: 9489
    public void rip_movapd_r9489(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x28, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movapd    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5301, Serial#: 9484
    public void movapd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x28, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movapd    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5302, Serial#: 9493
    public void movapd_r9493(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x28, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movapd    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5303, Serial#: 9479
    public void m_movapd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x28, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movapd    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5304, Serial#: 9488
    public void m_movapd_r9488(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x28, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movapd    xmm0, [rbx + 305419896]}
     */
    // Template#: 5305, Serial#: 9483
    public void movapd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x28, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movapd    xmm0, [rbx + 305419896]}
     */
    // Template#: 5306, Serial#: 9492
    public void movapd_r9492(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x28, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movapd    rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5307, Serial#: 9502
    public void movapd(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0842((byte) 0x29, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movapd    rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5308, Serial#: 9511
    public void movapd_r9511(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0843((byte) 0x29, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movapd    0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5309, Serial#: 9497
    public void m_movapd(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0844((byte) 0x29, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movapd    0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5310, Serial#: 9506
    public void m_movapd_r9506(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0845((byte) 0x29, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movapd    [rbx + 305419896], xmm0}
     */
    // Template#: 5311, Serial#: 9501
    public void movapd(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0846((byte) 0x29, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movapd    [rbx + 305419896], xmm0}
     */
    // Template#: 5312, Serial#: 9510
    public void movapd_r9510(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0847((byte) 0x29, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movapd    [L1: +305419896], xmm0}
     */
    // Template#: 5313, Serial#: 9498
    public void rip_movapd(int rel32, AMD64XMMRegister source) {
        assemble0848((byte) 0x29, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movapd  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movapd    [L1: +305419896], xmm0}
     */
    // Template#: 5314, Serial#: 9507
    public void rip_movapd_r9507(int rel32, AMD64XMMRegister source) {
        assemble0849((byte) 0x29, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movaps    rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5315, Serial#: 9341
    public void movaps(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0850((byte) 0x29, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movaps    rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5316, Serial#: 9350
    public void movaps_r9350(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0851((byte) 0x29, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movaps    [rbx + 18], xmm0}
     */
    // Template#: 5317, Serial#: 9340
    public void movaps(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0852((byte) 0x29, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movaps    [rbx + 18], xmm0}
     */
    // Template#: 5318, Serial#: 9349
    public void movaps_r9349(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0853((byte) 0x29, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movaps    rbx[rsi * 4], xmm0}
     */
    // Template#: 5319, Serial#: 9337
    public void movaps(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0854((byte) 0x29, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movaps    rbx[rsi * 4], xmm0}
     */
    // Template#: 5320, Serial#: 9346
    public void movaps_r9346(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0855((byte) 0x29, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movaps    [rbx], xmm0}
     */
    // Template#: 5321, Serial#: 9336
    public void movaps(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0856((byte) 0x29, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movaps    [rbx], xmm0}
     */
    // Template#: 5322, Serial#: 9345
    public void movaps_r9345(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0857((byte) 0x29, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movaps    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5323, Serial#: 9323
    public void movaps(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0190((byte) 0x28, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movaps    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5324, Serial#: 9332
    public void movaps_r9332(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0191((byte) 0x28, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movaps    xmm0, [rbx + 18]}
     */
    // Template#: 5325, Serial#: 9322
    public void movaps(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0192((byte) 0x28, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movaps    xmm0, [rbx + 18]}
     */
    // Template#: 5326, Serial#: 9331
    public void movaps_r9331(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0193((byte) 0x28, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movaps    xmm0, rbx[rsi * 4]}
     */
    // Template#: 5327, Serial#: 9319
    public void movaps(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0194((byte) 0x28, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movaps    xmm0, rbx[rsi * 4]}
     */
    // Template#: 5328, Serial#: 9328
    public void movaps_r9328(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0195((byte) 0x28, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movaps    xmm0, [rbx]}
     */
    // Template#: 5329, Serial#: 9318
    public void movaps(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0196((byte) 0x28, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movaps    xmm0, [rbx]}
     */
    // Template#: 5330, Serial#: 9327
    public void movaps_r9327(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0197((byte) 0x28, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movaps    xmm0, xmm0}
     */
    // Template#: 5331, Serial#: 9326
    public void movaps(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0198((byte) 0x28, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movaps    xmm0, xmm0}
     */
    // Template#: 5332, Serial#: 9335
    public void movaps_r9335(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0199((byte) 0x28, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movaps    xmm0, xmm0}
     */
    // Template#: 5333, Serial#: 9344
    public void movaps_r9344(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0858((byte) 0x29, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movaps    xmm0, xmm0}
     */
    // Template#: 5334, Serial#: 9353
    public void movaps_r9353(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0859((byte) 0x29, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movaps    xmm0, [L1: +305419896]}
     */
    // Template#: 5335, Serial#: 9321
    public void rip_movaps(AMD64XMMRegister destination, int rel32) {
        assemble0200((byte) 0x28, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movaps    xmm0, [L1: +305419896]}
     */
    // Template#: 5336, Serial#: 9330
    public void rip_movaps_r9330(AMD64XMMRegister destination, int rel32) {
        assemble0201((byte) 0x28, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movaps    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5337, Serial#: 9325
    public void movaps(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0202((byte) 0x28, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movaps    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5338, Serial#: 9334
    public void movaps_r9334(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0203((byte) 0x28, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movaps    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5339, Serial#: 9320
    public void m_movaps(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0204((byte) 0x28, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movaps    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5340, Serial#: 9329
    public void m_movaps_r9329(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0205((byte) 0x28, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movaps    xmm0, [rbx + 305419896]}
     */
    // Template#: 5341, Serial#: 9324
    public void movaps(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0206((byte) 0x28, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movaps    xmm0, [rbx + 305419896]}
     */
    // Template#: 5342, Serial#: 9333
    public void movaps_r9333(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0207((byte) 0x28, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movaps    rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5343, Serial#: 9343
    public void movaps(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0860((byte) 0x29, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movaps    rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5344, Serial#: 9352
    public void movaps_r9352(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0861((byte) 0x29, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movaps    0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5345, Serial#: 9338
    public void m_movaps(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0862((byte) 0x29, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movaps    0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5346, Serial#: 9347
    public void m_movaps_r9347(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0863((byte) 0x29, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movaps    [rbx + 305419896], xmm0}
     */
    // Template#: 5347, Serial#: 9342
    public void movaps(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0864((byte) 0x29, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movaps    [rbx + 305419896], xmm0}
     */
    // Template#: 5348, Serial#: 9351
    public void movaps_r9351(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0865((byte) 0x29, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movaps    [L1: +305419896], xmm0}
     */
    // Template#: 5349, Serial#: 9339
    public void rip_movaps(int rel32, AMD64XMMRegister source) {
        assemble0866((byte) 0x29, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movaps  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movaps    [L1: +305419896], xmm0}
     */
    // Template#: 5350, Serial#: 9348
    public void rip_movaps_r9348(int rel32, AMD64XMMRegister source) {
        assemble0867((byte) 0x29, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdl     rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5351, Serial#: 10919
    public void movdl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0832((byte) 0x7E, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq     rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5352, Serial#: 10928
    public void movdq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0833((byte) 0x7E, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdl     rbx[rsi * 4 + 18], mm0}
     */
    // Template#: 5353, Serial#: 10838
    public void movdl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0868((byte) 0x7E, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq     rbx[rsi * 4 + 18], mm0}
     */
    // Template#: 5354, Serial#: 10847
    public void movdq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0869((byte) 0x7E, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdl     [rbx + 18], xmm0}
     */
    // Template#: 5355, Serial#: 10918
    public void movdl(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0834((byte) 0x7E, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq     [rbx + 18], xmm0}
     */
    // Template#: 5356, Serial#: 10927
    public void movdq(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0835((byte) 0x7E, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdl     [rbx + 18], mm0}
     */
    // Template#: 5357, Serial#: 10837
    public void movdl(byte disp8, AMD64IndirectRegister64 destination, MMXRegister source) {
        assemble0870((byte) 0x7E, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq     [rbx + 18], mm0}
     */
    // Template#: 5358, Serial#: 10846
    public void movdq(byte disp8, AMD64IndirectRegister64 destination, MMXRegister source) {
        assemble0871((byte) 0x7E, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdl     rbx[rsi * 4], xmm0}
     */
    // Template#: 5359, Serial#: 10915
    public void movdl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0836((byte) 0x7E, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq     rbx[rsi * 4], xmm0}
     */
    // Template#: 5360, Serial#: 10924
    public void movdq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0837((byte) 0x7E, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdl     rbx[rsi * 4], mm0}
     */
    // Template#: 5361, Serial#: 10834
    public void movdl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0872((byte) 0x7E, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq     rbx[rsi * 4], mm0}
     */
    // Template#: 5362, Serial#: 10843
    public void movdq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0873((byte) 0x7E, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdl     eax, xmm0}
     */
    // Template#: 5363, Serial#: 10922
    public void movdl(AMD64GeneralRegister32 destination, AMD64XMMRegister source) {
        assemble0874((byte) 0x7E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdl     eax, mm0}
     */
    // Template#: 5364, Serial#: 10841
    public void movdl(AMD64GeneralRegister32 destination, MMXRegister source) {
        assemble0875((byte) 0x7E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq     rax, xmm0}
     */
    // Template#: 5365, Serial#: 10931
    public void movdq(AMD64GeneralRegister64 destination, AMD64XMMRegister source) {
        assemble0876((byte) 0x7E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq     rax, mm0}
     */
    // Template#: 5366, Serial#: 10850
    public void movdq(AMD64GeneralRegister64 destination, MMXRegister source) {
        assemble0877((byte) 0x7E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdl     [rbx], xmm0}
     */
    // Template#: 5367, Serial#: 10914
    public void movdl(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0838((byte) 0x7E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq     [rbx], xmm0}
     */
    // Template#: 5368, Serial#: 10923
    public void movdq(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0839((byte) 0x7E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdl     [rbx], mm0}
     */
    // Template#: 5369, Serial#: 10833
    public void movdl(AMD64IndirectRegister64 destination, MMXRegister source) {
        assemble0878((byte) 0x7E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq     [rbx], mm0}
     */
    // Template#: 5370, Serial#: 10842
    public void movdq(AMD64IndirectRegister64 destination, MMXRegister source) {
        assemble0879((byte) 0x7E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdl     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5371, Serial#: 10784
    public void movdl(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x6E, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdq     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5372, Serial#: 10793
    public void movdq(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x6E, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movdl     xmm0, [rbx + 18]}
     */
    // Template#: 5373, Serial#: 10783
    public void movdl(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x6E, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq     xmm0, [rbx + 18]}
     */
    // Template#: 5374, Serial#: 10792
    public void movdq(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x6E, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdl     xmm0, rbx[rsi * 4]}
     */
    // Template#: 5375, Serial#: 10780
    public void movdl(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x6E, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdq     xmm0, rbx[rsi * 4]}
     */
    // Template#: 5376, Serial#: 10789
    public void movdq(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x6E, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdl     xmm0, eax}
     */
    // Template#: 5377, Serial#: 10787
    public void movdl(AMD64XMMRegister destination, AMD64GeneralRegister32 source) {
        assemble0880((byte) 0x6E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq     xmm0, rax}
     */
    // Template#: 5378, Serial#: 10796
    public void movdq(AMD64XMMRegister destination, AMD64GeneralRegister64 source) {
        assemble0881((byte) 0x6E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdl     xmm0, [rbx]}
     */
    // Template#: 5379, Serial#: 10779
    public void movdl(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x6E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq     xmm0, [rbx]}
     */
    // Template#: 5380, Serial#: 10788
    public void movdq(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x6E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movdl     xmm0, [L1: +305419896]}
     */
    // Template#: 5381, Serial#: 10782
    public void rip_movdl(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x6E, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movdq     xmm0, [L1: +305419896]}
     */
    // Template#: 5382, Serial#: 10791
    public void rip_movdq(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x6E, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdl     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5383, Serial#: 10786
    public void movdl(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x6E, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdq     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5384, Serial#: 10795
    public void movdq(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x6E, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdl     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5385, Serial#: 10781
    public void m_movdl(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x6E, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdq     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5386, Serial#: 10790
    public void m_movdq(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x6E, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movdl     xmm0, [rbx + 305419896]}
     */
    // Template#: 5387, Serial#: 10785
    public void movdl(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x6E, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq     xmm0, [rbx + 305419896]}
     */
    // Template#: 5388, Serial#: 10794
    public void movdq(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x6E, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdl     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5389, Serial#: 10631
    public void movdl(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0x6E, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdq     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5390, Serial#: 10640
    public void movdq(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0x6E, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movdl     mm0, [rbx + 18]}
     */
    // Template#: 5391, Serial#: 10630
    public void movdl(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0x6E, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq     mm0, [rbx + 18]}
     */
    // Template#: 5392, Serial#: 10639
    public void movdq(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0x6E, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdl     mm0, rbx[rsi * 4]}
     */
    // Template#: 5393, Serial#: 10627
    public void movdl(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0x6E, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdq     mm0, rbx[rsi * 4]}
     */
    // Template#: 5394, Serial#: 10636
    public void movdq(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0x6E, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdl     mm0, eax}
     */
    // Template#: 5395, Serial#: 10634
    public void movdl(MMXRegister destination, AMD64GeneralRegister32 source) {
        assemble0882((byte) 0x6E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq     mm0, rax}
     */
    // Template#: 5396, Serial#: 10643
    public void movdq(MMXRegister destination, AMD64GeneralRegister64 source) {
        assemble0883((byte) 0x6E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdl     mm0, [rbx]}
     */
    // Template#: 5397, Serial#: 10626
    public void movdl(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0x6E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq     mm0, [rbx]}
     */
    // Template#: 5398, Serial#: 10635
    public void movdq(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0x6E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movdl     mm0, [L1: +305419896]}
     */
    // Template#: 5399, Serial#: 10629
    public void rip_movdl(MMXRegister destination, int rel32) {
        assemble0525((byte) 0x6E, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movdq     mm0, [L1: +305419896]}
     */
    // Template#: 5400, Serial#: 10638
    public void rip_movdq(MMXRegister destination, int rel32) {
        assemble0526((byte) 0x6E, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdl     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5401, Serial#: 10633
    public void movdl(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0x6E, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdq     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5402, Serial#: 10642
    public void movdq(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0x6E, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdl     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5403, Serial#: 10628
    public void m_movdl(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0x6E, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdq     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5404, Serial#: 10637
    public void m_movdq(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0x6E, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movdl     mm0, [rbx + 305419896]}
     */
    // Template#: 5405, Serial#: 10632
    public void movdl(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0x6E, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq     mm0, [rbx + 305419896]}
     */
    // Template#: 5406, Serial#: 10641
    public void movdq(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0x6E, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdl     rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5407, Serial#: 10921
    public void movdl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0842((byte) 0x7E, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq     rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5408, Serial#: 10930
    public void movdq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0843((byte) 0x7E, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdl     rbx[rsi * 4 + 305419896], mm0}
     */
    // Template#: 5409, Serial#: 10840
    public void movdl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0884((byte) 0x7E, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq     rbx[rsi * 4 + 305419896], mm0}
     */
    // Template#: 5410, Serial#: 10849
    public void movdq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0885((byte) 0x7E, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdl     0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5411, Serial#: 10916
    public void m_movdl(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0844((byte) 0x7E, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq     0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5412, Serial#: 10925
    public void m_movdq(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0845((byte) 0x7E, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdl     0x12345678[rsi * 4], mm0}
     */
    // Template#: 5413, Serial#: 10835
    public void m_movdl(int m32, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0886((byte) 0x7E, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq     0x12345678[rsi * 4], mm0}
     */
    // Template#: 5414, Serial#: 10844
    public void m_movdq(int m32, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0887((byte) 0x7E, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdl     [rbx + 305419896], xmm0}
     */
    // Template#: 5415, Serial#: 10920
    public void movdl(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0846((byte) 0x7E, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq     [rbx + 305419896], xmm0}
     */
    // Template#: 5416, Serial#: 10929
    public void movdq(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0847((byte) 0x7E, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdl     [rbx + 305419896], mm0}
     */
    // Template#: 5417, Serial#: 10839
    public void movdl(int disp32, AMD64IndirectRegister64 destination, MMXRegister source) {
        assemble0888((byte) 0x7E, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq     [rbx + 305419896], mm0}
     */
    // Template#: 5418, Serial#: 10848
    public void movdq(int disp32, AMD64IndirectRegister64 destination, MMXRegister source) {
        assemble0889((byte) 0x7E, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movdl     [L1: +305419896], xmm0}
     */
    // Template#: 5419, Serial#: 10917
    public void rip_movdl(int rel32, AMD64XMMRegister source) {
        assemble0848((byte) 0x7E, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq     [L1: +305419896], xmm0}
     */
    // Template#: 5420, Serial#: 10926
    public void rip_movdq(int rel32, AMD64XMMRegister source) {
        assemble0849((byte) 0x7E, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdl  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movdl     [L1: +305419896], mm0}
     */
    // Template#: 5421, Serial#: 10836
    public void rip_movdl(int rel32, MMXRegister source) {
        assemble0890((byte) 0x7E, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq     [L1: +305419896], mm0}
     */
    // Template#: 5422, Serial#: 10845
    public void rip_movdq(int rel32, MMXRegister source) {
        assemble0891((byte) 0x7E, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movddup  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movddup   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5423, Serial#: 6238
    public void movddup(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0211((byte) 0x12, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movddup  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movddup   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5424, Serial#: 6247
    public void movddup_r6247(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0212((byte) 0x12, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movddup  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movddup   xmm0, [rbx + 18]}
     */
    // Template#: 5425, Serial#: 6237
    public void movddup(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0213((byte) 0x12, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movddup  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movddup   xmm0, [rbx + 18]}
     */
    // Template#: 5426, Serial#: 6246
    public void movddup_r6246(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0214((byte) 0x12, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movddup  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movddup   xmm0, rbx[rsi * 4]}
     */
    // Template#: 5427, Serial#: 6234
    public void movddup(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0215((byte) 0x12, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movddup  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movddup   xmm0, rbx[rsi * 4]}
     */
    // Template#: 5428, Serial#: 6243
    public void movddup_r6243(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0216((byte) 0x12, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movddup  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movddup   xmm0, [rbx]}
     */
    // Template#: 5429, Serial#: 6233
    public void movddup(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0217((byte) 0x12, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movddup  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movddup   xmm0, [rbx]}
     */
    // Template#: 5430, Serial#: 6242
    public void movddup_r6242(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0218((byte) 0x12, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movddup  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movddup   xmm0, xmm0}
     */
    // Template#: 5431, Serial#: 6241
    public void movddup(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0219((byte) 0x12, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movddup  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movddup   xmm0, xmm0}
     */
    // Template#: 5432, Serial#: 6250
    public void movddup_r6250(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0220((byte) 0x12, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movddup  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movddup   xmm0, [L1: +305419896]}
     */
    // Template#: 5433, Serial#: 6236
    public void rip_movddup(AMD64XMMRegister destination, int rel32) {
        assemble0221((byte) 0x12, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movddup  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movddup   xmm0, [L1: +305419896]}
     */
    // Template#: 5434, Serial#: 6245
    public void rip_movddup_r6245(AMD64XMMRegister destination, int rel32) {
        assemble0222((byte) 0x12, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movddup  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movddup   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5435, Serial#: 6240
    public void movddup(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0223((byte) 0x12, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movddup  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movddup   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5436, Serial#: 6249
    public void movddup_r6249(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0224((byte) 0x12, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movddup  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movddup   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5437, Serial#: 6235
    public void m_movddup(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0225((byte) 0x12, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movddup  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movddup   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5438, Serial#: 6244
    public void m_movddup_r6244(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0226((byte) 0x12, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movddup  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movddup   xmm0, [rbx + 305419896]}
     */
    // Template#: 5439, Serial#: 6239
    public void movddup(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0227((byte) 0x12, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movddup  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movddup   xmm0, [rbx + 305419896]}
     */
    // Template#: 5440, Serial#: 6248
    public void movddup_r6248(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0228((byte) 0x12, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq2q  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq2q   mm0, xmm0}
     */
    // Template#: 5441, Serial#: 8439
    public void movdq2q(MMXRegister destination, AMD64XMMRegister source) {
        assemble0892((byte) 0xD6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq2q  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq2q   mm0, xmm0}
     */
    // Template#: 5442, Serial#: 8440
    public void movdq2q_r8440(MMXRegister destination, AMD64XMMRegister source) {
        assemble0893((byte) 0xD6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdq2q  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdq2q   mm0, xmm0}
     */
    // Template#: 5443, Serial#: 8441
    public void movdq2q_r8441(MMXRegister destination, AMD64XMMRegister source) {
        assemble0894((byte) 0xD6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqa    rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5444, Serial#: 10937
    public void movdqa(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0832((byte) 0x7F, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqa    rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5445, Serial#: 10946
    public void movdqa_r10946(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0833((byte) 0x7F, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqa    [rbx + 18], xmm0}
     */
    // Template#: 5446, Serial#: 10936
    public void movdqa(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0834((byte) 0x7F, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqa    [rbx + 18], xmm0}
     */
    // Template#: 5447, Serial#: 10945
    public void movdqa_r10945(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0835((byte) 0x7F, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqa    rbx[rsi * 4], xmm0}
     */
    // Template#: 5448, Serial#: 10933
    public void movdqa(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0836((byte) 0x7F, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqa    rbx[rsi * 4], xmm0}
     */
    // Template#: 5449, Serial#: 10942
    public void movdqa_r10942(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0837((byte) 0x7F, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqa    [rbx], xmm0}
     */
    // Template#: 5450, Serial#: 10932
    public void movdqa(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0838((byte) 0x7F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqa    [rbx], xmm0}
     */
    // Template#: 5451, Serial#: 10941
    public void movdqa_r10941(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0839((byte) 0x7F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdqa    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5452, Serial#: 10802
    public void movdqa(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x6F, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdqa    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5453, Serial#: 10811
    public void movdqa_r10811(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x6F, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqa    xmm0, [rbx + 18]}
     */
    // Template#: 5454, Serial#: 10801
    public void movdqa(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x6F, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqa    xmm0, [rbx + 18]}
     */
    // Template#: 5455, Serial#: 10810
    public void movdqa_r10810(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x6F, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdqa    xmm0, rbx[rsi * 4]}
     */
    // Template#: 5456, Serial#: 10798
    public void movdqa(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x6F, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdqa    xmm0, rbx[rsi * 4]}
     */
    // Template#: 5457, Serial#: 10807
    public void movdqa_r10807(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x6F, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqa    xmm0, [rbx]}
     */
    // Template#: 5458, Serial#: 10797
    public void movdqa(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x6F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqa    xmm0, [rbx]}
     */
    // Template#: 5459, Serial#: 10806
    public void movdqa_r10806(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x6F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqa    xmm0, xmm0}
     */
    // Template#: 5460, Serial#: 10805
    public void movdqa(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x6F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqa    xmm0, xmm0}
     */
    // Template#: 5461, Serial#: 10814
    public void movdqa_r10814(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x6F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqa    xmm0, xmm0}
     */
    // Template#: 5462, Serial#: 10940
    public void movdqa_r10940(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0840((byte) 0x7F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqa    xmm0, xmm0}
     */
    // Template#: 5463, Serial#: 10949
    public void movdqa_r10949(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0841((byte) 0x7F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movdqa    xmm0, [L1: +305419896]}
     */
    // Template#: 5464, Serial#: 10800
    public void rip_movdqa(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x6F, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movdqa    xmm0, [L1: +305419896]}
     */
    // Template#: 5465, Serial#: 10809
    public void rip_movdqa_r10809(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x6F, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdqa    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5466, Serial#: 10804
    public void movdqa(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x6F, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdqa    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5467, Serial#: 10813
    public void movdqa_r10813(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x6F, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdqa    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5468, Serial#: 10799
    public void m_movdqa(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x6F, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdqa    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5469, Serial#: 10808
    public void m_movdqa_r10808(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x6F, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqa    xmm0, [rbx + 305419896]}
     */
    // Template#: 5470, Serial#: 10803
    public void movdqa(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x6F, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqa    xmm0, [rbx + 305419896]}
     */
    // Template#: 5471, Serial#: 10812
    public void movdqa_r10812(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x6F, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqa    rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5472, Serial#: 10939
    public void movdqa(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0842((byte) 0x7F, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqa    rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5473, Serial#: 10948
    public void movdqa_r10948(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0843((byte) 0x7F, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqa    0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5474, Serial#: 10934
    public void m_movdqa(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0844((byte) 0x7F, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqa    0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5475, Serial#: 10943
    public void m_movdqa_r10943(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0845((byte) 0x7F, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqa    [rbx + 305419896], xmm0}
     */
    // Template#: 5476, Serial#: 10938
    public void movdqa(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0846((byte) 0x7F, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqa    [rbx + 305419896], xmm0}
     */
    // Template#: 5477, Serial#: 10947
    public void movdqa_r10947(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0847((byte) 0x7F, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqa    [L1: +305419896], xmm0}
     */
    // Template#: 5478, Serial#: 10935
    public void rip_movdqa(int rel32, AMD64XMMRegister source) {
        assemble0848((byte) 0x7F, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqa  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqa    [L1: +305419896], xmm0}
     */
    // Template#: 5479, Serial#: 10944
    public void rip_movdqa_r10944(int rel32, AMD64XMMRegister source) {
        assemble0849((byte) 0x7F, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqu    rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5480, Serial#: 11009
    public void movdqu(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0895((byte) 0x7F, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqu    rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5481, Serial#: 11018
    public void movdqu_r11018(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0896((byte) 0x7F, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqu    [rbx + 18], xmm0}
     */
    // Template#: 5482, Serial#: 11008
    public void movdqu(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0897((byte) 0x7F, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqu    [rbx + 18], xmm0}
     */
    // Template#: 5483, Serial#: 11017
    public void movdqu_r11017(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0898((byte) 0x7F, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqu    rbx[rsi * 4], xmm0}
     */
    // Template#: 5484, Serial#: 11005
    public void movdqu(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0899((byte) 0x7F, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqu    rbx[rsi * 4], xmm0}
     */
    // Template#: 5485, Serial#: 11014
    public void movdqu_r11014(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0900((byte) 0x7F, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqu    [rbx], xmm0}
     */
    // Template#: 5486, Serial#: 11004
    public void movdqu(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0901((byte) 0x7F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqu    [rbx], xmm0}
     */
    // Template#: 5487, Serial#: 11013
    public void movdqu_r11013(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0902((byte) 0x7F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdqu    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5488, Serial#: 10820
    public void movdqu(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0229((byte) 0x6F, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdqu    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5489, Serial#: 10829
    public void movdqu_r10829(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0230((byte) 0x6F, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqu    xmm0, [rbx + 18]}
     */
    // Template#: 5490, Serial#: 10819
    public void movdqu(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0231((byte) 0x6F, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqu    xmm0, [rbx + 18]}
     */
    // Template#: 5491, Serial#: 10828
    public void movdqu_r10828(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0232((byte) 0x6F, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdqu    xmm0, rbx[rsi * 4]}
     */
    // Template#: 5492, Serial#: 10816
    public void movdqu(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0233((byte) 0x6F, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdqu    xmm0, rbx[rsi * 4]}
     */
    // Template#: 5493, Serial#: 10825
    public void movdqu_r10825(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0234((byte) 0x6F, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqu    xmm0, [rbx]}
     */
    // Template#: 5494, Serial#: 10815
    public void movdqu(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0235((byte) 0x6F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqu    xmm0, [rbx]}
     */
    // Template#: 5495, Serial#: 10824
    public void movdqu_r10824(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0236((byte) 0x6F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqu    xmm0, xmm0}
     */
    // Template#: 5496, Serial#: 10823
    public void movdqu(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0237((byte) 0x6F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqu    xmm0, xmm0}
     */
    // Template#: 5497, Serial#: 10832
    public void movdqu_r10832(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0238((byte) 0x6F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqu    xmm0, xmm0}
     */
    // Template#: 5498, Serial#: 11012
    public void movdqu_r11012(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0903((byte) 0x7F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqu    xmm0, xmm0}
     */
    // Template#: 5499, Serial#: 11021
    public void movdqu_r11021(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0904((byte) 0x7F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movdqu    xmm0, [L1: +305419896]}
     */
    // Template#: 5500, Serial#: 10818
    public void rip_movdqu(AMD64XMMRegister destination, int rel32) {
        assemble0239((byte) 0x6F, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movdqu    xmm0, [L1: +305419896]}
     */
    // Template#: 5501, Serial#: 10827
    public void rip_movdqu_r10827(AMD64XMMRegister destination, int rel32) {
        assemble0240((byte) 0x6F, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdqu    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5502, Serial#: 10822
    public void movdqu(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0241((byte) 0x6F, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdqu    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5503, Serial#: 10831
    public void movdqu_r10831(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0242((byte) 0x6F, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdqu    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5504, Serial#: 10817
    public void m_movdqu(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0243((byte) 0x6F, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movdqu    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5505, Serial#: 10826
    public void m_movdqu_r10826(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0244((byte) 0x6F, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqu    xmm0, [rbx + 305419896]}
     */
    // Template#: 5506, Serial#: 10821
    public void movdqu(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0245((byte) 0x6F, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqu    xmm0, [rbx + 305419896]}
     */
    // Template#: 5507, Serial#: 10830
    public void movdqu_r10830(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0246((byte) 0x6F, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqu    rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5508, Serial#: 11011
    public void movdqu(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0905((byte) 0x7F, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqu    rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5509, Serial#: 11020
    public void movdqu_r11020(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0906((byte) 0x7F, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqu    0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5510, Serial#: 11006
    public void m_movdqu(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0907((byte) 0x7F, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqu    0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5511, Serial#: 11015
    public void m_movdqu_r11015(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0908((byte) 0x7F, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqu    [rbx + 305419896], xmm0}
     */
    // Template#: 5512, Serial#: 11010
    public void movdqu(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0909((byte) 0x7F, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqu    [rbx + 305419896], xmm0}
     */
    // Template#: 5513, Serial#: 11019
    public void movdqu_r11019(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0910((byte) 0x7F, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqu    [L1: +305419896], xmm0}
     */
    // Template#: 5514, Serial#: 11007
    public void rip_movdqu(int rel32, AMD64XMMRegister source) {
        assemble0911((byte) 0x7F, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movdqu  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movdqu    [L1: +305419896], xmm0}
     */
    // Template#: 5515, Serial#: 11016
    public void rip_movdqu_r11016(int rel32, AMD64XMMRegister source) {
        assemble0912((byte) 0x7F, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhlps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movhlps   xmm0, xmm0}
     */
    // Template#: 5516, Serial#: 5921
    public void movhlps(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0198((byte) 0x12, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhlps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movhlps   xmm0, xmm0}
     */
    // Template#: 5517, Serial#: 5922
    public void movhlps_r5922(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0199((byte) 0x12, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhlps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movhlps   xmm0, xmm0}
     */
    // Template#: 5518, Serial#: 5923
    public void movhlps_r5923(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0913((byte) 0x12, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5519, Serial#: 6160
    public void movhpd(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0832((byte) 0x17, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5520, Serial#: 6168
    public void movhpd_r6168(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0833((byte) 0x17, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5521, Serial#: 6176
    public void movhpd_r6176(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0914((byte) 0x17, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    [rbx + 18], xmm0}
     */
    // Template#: 5522, Serial#: 6159
    public void movhpd(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0834((byte) 0x17, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    [rbx + 18], xmm0}
     */
    // Template#: 5523, Serial#: 6167
    public void movhpd_r6167(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0835((byte) 0x17, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    [rbx + 18], xmm0}
     */
    // Template#: 5524, Serial#: 6175
    public void movhpd_r6175(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0915((byte) 0x17, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    rbx[rsi * 4], xmm0}
     */
    // Template#: 5525, Serial#: 6156
    public void movhpd(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0836((byte) 0x17, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    rbx[rsi * 4], xmm0}
     */
    // Template#: 5526, Serial#: 6164
    public void movhpd_r6164(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0837((byte) 0x17, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    rbx[rsi * 4], xmm0}
     */
    // Template#: 5527, Serial#: 6172
    public void movhpd_r6172(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0916((byte) 0x17, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    [rbx], xmm0}
     */
    // Template#: 5528, Serial#: 6155
    public void movhpd(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0838((byte) 0x17, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    [rbx], xmm0}
     */
    // Template#: 5529, Serial#: 6163
    public void movhpd_r6163(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0839((byte) 0x17, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    [rbx], xmm0}
     */
    // Template#: 5530, Serial#: 6171
    public void movhpd_r6171(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0917((byte) 0x17, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movhpd    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5531, Serial#: 6136
    public void movhpd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x16, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movhpd    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5532, Serial#: 6144
    public void movhpd_r6144(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x16, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movhpd    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5533, Serial#: 6152
    public void movhpd_r6152(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0493((byte) 0x16, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    xmm0, [rbx + 18]}
     */
    // Template#: 5534, Serial#: 6135
    public void movhpd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x16, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    xmm0, [rbx + 18]}
     */
    // Template#: 5535, Serial#: 6143
    public void movhpd_r6143(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x16, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    xmm0, [rbx + 18]}
     */
    // Template#: 5536, Serial#: 6151
    public void movhpd_r6151(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0494((byte) 0x16, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movhpd    xmm0, rbx[rsi * 4]}
     */
    // Template#: 5537, Serial#: 6132
    public void movhpd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x16, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movhpd    xmm0, rbx[rsi * 4]}
     */
    // Template#: 5538, Serial#: 6140
    public void movhpd_r6140(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x16, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movhpd    xmm0, rbx[rsi * 4]}
     */
    // Template#: 5539, Serial#: 6148
    public void movhpd_r6148(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0495((byte) 0x16, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    xmm0, [rbx]}
     */
    // Template#: 5540, Serial#: 6131
    public void movhpd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x16, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    xmm0, [rbx]}
     */
    // Template#: 5541, Serial#: 6139
    public void movhpd_r6139(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x16, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    xmm0, [rbx]}
     */
    // Template#: 5542, Serial#: 6147
    public void movhpd_r6147(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0496((byte) 0x16, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movhpd    xmm0, [L1: +305419896]}
     */
    // Template#: 5543, Serial#: 6134
    public void rip_movhpd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x16, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movhpd    xmm0, [L1: +305419896]}
     */
    // Template#: 5544, Serial#: 6142
    public void rip_movhpd_r6142(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x16, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movhpd    xmm0, [L1: +305419896]}
     */
    // Template#: 5545, Serial#: 6150
    public void rip_movhpd_r6150(AMD64XMMRegister destination, int rel32) {
        assemble0500((byte) 0x16, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movhpd    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5546, Serial#: 6138
    public void movhpd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x16, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movhpd    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5547, Serial#: 6146
    public void movhpd_r6146(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x16, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movhpd    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5548, Serial#: 6154
    public void movhpd_r6154(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0501((byte) 0x16, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movhpd    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5549, Serial#: 6133
    public void m_movhpd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x16, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movhpd    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5550, Serial#: 6141
    public void m_movhpd_r6141(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x16, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movhpd    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5551, Serial#: 6149
    public void m_movhpd_r6149(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0502((byte) 0x16, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    xmm0, [rbx + 305419896]}
     */
    // Template#: 5552, Serial#: 6137
    public void movhpd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x16, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    xmm0, [rbx + 305419896]}
     */
    // Template#: 5553, Serial#: 6145
    public void movhpd_r6145(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x16, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    xmm0, [rbx + 305419896]}
     */
    // Template#: 5554, Serial#: 6153
    public void movhpd_r6153(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0503((byte) 0x16, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5555, Serial#: 6162
    public void movhpd(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0842((byte) 0x17, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5556, Serial#: 6170
    public void movhpd_r6170(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0843((byte) 0x17, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5557, Serial#: 6178
    public void movhpd_r6178(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0918((byte) 0x17, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5558, Serial#: 6157
    public void m_movhpd(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0844((byte) 0x17, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5559, Serial#: 6165
    public void m_movhpd_r6165(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0845((byte) 0x17, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5560, Serial#: 6173
    public void m_movhpd_r6173(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0919((byte) 0x17, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    [rbx + 305419896], xmm0}
     */
    // Template#: 5561, Serial#: 6161
    public void movhpd(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0846((byte) 0x17, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    [rbx + 305419896], xmm0}
     */
    // Template#: 5562, Serial#: 6169
    public void movhpd_r6169(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0847((byte) 0x17, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    [rbx + 305419896], xmm0}
     */
    // Template#: 5563, Serial#: 6177
    public void movhpd_r6177(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0920((byte) 0x17, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    [L1: +305419896], xmm0}
     */
    // Template#: 5564, Serial#: 6158
    public void rip_movhpd(int rel32, AMD64XMMRegister source) {
        assemble0848((byte) 0x17, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    [L1: +305419896], xmm0}
     */
    // Template#: 5565, Serial#: 6166
    public void rip_movhpd_r6166(int rel32, AMD64XMMRegister source) {
        assemble0849((byte) 0x17, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhpd  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movhpd    [L1: +305419896], xmm0}
     */
    // Template#: 5566, Serial#: 6174
    public void rip_movhpd_r6174(int rel32, AMD64XMMRegister source) {
        assemble0921((byte) 0x17, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhps  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movhps    rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5567, Serial#: 5992
    public void movhps(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0850((byte) 0x17, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhps  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movhps    rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5568, Serial#: 6000
    public void movhps_r6000(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0851((byte) 0x17, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhps  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movhps    rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5569, Serial#: 6008
    public void movhps_r6008(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0922((byte) 0x17, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhps  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movhps    [rbx + 18], xmm0}
     */
    // Template#: 5570, Serial#: 5991
    public void movhps(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0852((byte) 0x17, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhps  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movhps    [rbx + 18], xmm0}
     */
    // Template#: 5571, Serial#: 5999
    public void movhps_r5999(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0853((byte) 0x17, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhps  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movhps    [rbx + 18], xmm0}
     */
    // Template#: 5572, Serial#: 6007
    public void movhps_r6007(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0923((byte) 0x17, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhps  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movhps    rbx[rsi * 4], xmm0}
     */
    // Template#: 5573, Serial#: 5988
    public void movhps(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0854((byte) 0x17, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhps  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movhps    rbx[rsi * 4], xmm0}
     */
    // Template#: 5574, Serial#: 5996
    public void movhps_r5996(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0855((byte) 0x17, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhps  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movhps    rbx[rsi * 4], xmm0}
     */
    // Template#: 5575, Serial#: 6004
    public void movhps_r6004(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0924((byte) 0x17, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movhps    [rbx], xmm0}
     */
    // Template#: 5576, Serial#: 5987
    public void movhps(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0856((byte) 0x17, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movhps    [rbx], xmm0}
     */
    // Template#: 5577, Serial#: 5995
    public void movhps_r5995(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0857((byte) 0x17, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movhps    [rbx], xmm0}
     */
    // Template#: 5578, Serial#: 6003
    public void movhps_r6003(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0925((byte) 0x17, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhps  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movhps    rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5579, Serial#: 5994
    public void movhps(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0860((byte) 0x17, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhps  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movhps    rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5580, Serial#: 6002
    public void movhps_r6002(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0861((byte) 0x17, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhps  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movhps    rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5581, Serial#: 6010
    public void movhps_r6010(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0926((byte) 0x17, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhps  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movhps    0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5582, Serial#: 5989
    public void m_movhps(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0862((byte) 0x17, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhps  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movhps    0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5583, Serial#: 5997
    public void m_movhps_r5997(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0863((byte) 0x17, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhps  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movhps    0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5584, Serial#: 6005
    public void m_movhps_r6005(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0927((byte) 0x17, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhps  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movhps    [rbx + 305419896], xmm0}
     */
    // Template#: 5585, Serial#: 5993
    public void movhps(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0864((byte) 0x17, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhps  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movhps    [rbx + 305419896], xmm0}
     */
    // Template#: 5586, Serial#: 6001
    public void movhps_r6001(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0865((byte) 0x17, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhps  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movhps    [rbx + 305419896], xmm0}
     */
    // Template#: 5587, Serial#: 6009
    public void movhps_r6009(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0928((byte) 0x17, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhps  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movhps    [L1: +305419896], xmm0}
     */
    // Template#: 5588, Serial#: 5990
    public void rip_movhps(int rel32, AMD64XMMRegister source) {
        assemble0866((byte) 0x17, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhps  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movhps    [L1: +305419896], xmm0}
     */
    // Template#: 5589, Serial#: 5998
    public void rip_movhps_r5998(int rel32, AMD64XMMRegister source) {
        assemble0867((byte) 0x17, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movhps  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movhps    [L1: +305419896], xmm0}
     */
    // Template#: 5590, Serial#: 6006
    public void rip_movhps_r6006(int rel32, AMD64XMMRegister source) {
        assemble0929((byte) 0x17, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlhps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movlhps   xmm0, xmm0}
     */
    // Template#: 5591, Serial#: 5984
    public void movlhps(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0198((byte) 0x16, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlhps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movlhps   xmm0, xmm0}
     */
    // Template#: 5592, Serial#: 5985
    public void movlhps_r5985(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0199((byte) 0x16, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlhps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movlhps   xmm0, xmm0}
     */
    // Template#: 5593, Serial#: 5986
    public void movlhps_r5986(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0913((byte) 0x16, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5594, Serial#: 6076
    public void movlpd(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0832((byte) 0x13, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5595, Serial#: 6084
    public void movlpd_r6084(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0833((byte) 0x13, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5596, Serial#: 6092
    public void movlpd_r6092(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0914((byte) 0x13, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    [rbx + 18], xmm0}
     */
    // Template#: 5597, Serial#: 6075
    public void movlpd(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0834((byte) 0x13, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    [rbx + 18], xmm0}
     */
    // Template#: 5598, Serial#: 6083
    public void movlpd_r6083(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0835((byte) 0x13, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    [rbx + 18], xmm0}
     */
    // Template#: 5599, Serial#: 6091
    public void movlpd_r6091(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0915((byte) 0x13, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    rbx[rsi * 4], xmm0}
     */
    // Template#: 5600, Serial#: 6072
    public void movlpd(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0836((byte) 0x13, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    rbx[rsi * 4], xmm0}
     */
    // Template#: 5601, Serial#: 6080
    public void movlpd_r6080(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0837((byte) 0x13, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    rbx[rsi * 4], xmm0}
     */
    // Template#: 5602, Serial#: 6088
    public void movlpd_r6088(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0916((byte) 0x13, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    [rbx], xmm0}
     */
    // Template#: 5603, Serial#: 6071
    public void movlpd(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0838((byte) 0x13, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    [rbx], xmm0}
     */
    // Template#: 5604, Serial#: 6079
    public void movlpd_r6079(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0839((byte) 0x13, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    [rbx], xmm0}
     */
    // Template#: 5605, Serial#: 6087
    public void movlpd_r6087(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0917((byte) 0x13, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movlpd    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5606, Serial#: 6052
    public void movlpd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x12, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movlpd    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5607, Serial#: 6060
    public void movlpd_r6060(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x12, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movlpd    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5608, Serial#: 6068
    public void movlpd_r6068(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0493((byte) 0x12, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    xmm0, [rbx + 18]}
     */
    // Template#: 5609, Serial#: 6051
    public void movlpd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x12, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    xmm0, [rbx + 18]}
     */
    // Template#: 5610, Serial#: 6059
    public void movlpd_r6059(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x12, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    xmm0, [rbx + 18]}
     */
    // Template#: 5611, Serial#: 6067
    public void movlpd_r6067(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0494((byte) 0x12, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movlpd    xmm0, rbx[rsi * 4]}
     */
    // Template#: 5612, Serial#: 6048
    public void movlpd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x12, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movlpd    xmm0, rbx[rsi * 4]}
     */
    // Template#: 5613, Serial#: 6056
    public void movlpd_r6056(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x12, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movlpd    xmm0, rbx[rsi * 4]}
     */
    // Template#: 5614, Serial#: 6064
    public void movlpd_r6064(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0495((byte) 0x12, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    xmm0, [rbx]}
     */
    // Template#: 5615, Serial#: 6047
    public void movlpd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x12, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    xmm0, [rbx]}
     */
    // Template#: 5616, Serial#: 6055
    public void movlpd_r6055(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x12, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    xmm0, [rbx]}
     */
    // Template#: 5617, Serial#: 6063
    public void movlpd_r6063(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0496((byte) 0x12, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movlpd    xmm0, [L1: +305419896]}
     */
    // Template#: 5618, Serial#: 6050
    public void rip_movlpd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x12, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movlpd    xmm0, [L1: +305419896]}
     */
    // Template#: 5619, Serial#: 6058
    public void rip_movlpd_r6058(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x12, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movlpd    xmm0, [L1: +305419896]}
     */
    // Template#: 5620, Serial#: 6066
    public void rip_movlpd_r6066(AMD64XMMRegister destination, int rel32) {
        assemble0500((byte) 0x12, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movlpd    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5621, Serial#: 6054
    public void movlpd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x12, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movlpd    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5622, Serial#: 6062
    public void movlpd_r6062(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x12, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movlpd    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5623, Serial#: 6070
    public void movlpd_r6070(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0501((byte) 0x12, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movlpd    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5624, Serial#: 6049
    public void m_movlpd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x12, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movlpd    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5625, Serial#: 6057
    public void m_movlpd_r6057(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x12, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movlpd    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5626, Serial#: 6065
    public void m_movlpd_r6065(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0502((byte) 0x12, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    xmm0, [rbx + 305419896]}
     */
    // Template#: 5627, Serial#: 6053
    public void movlpd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x12, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    xmm0, [rbx + 305419896]}
     */
    // Template#: 5628, Serial#: 6061
    public void movlpd_r6061(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x12, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    xmm0, [rbx + 305419896]}
     */
    // Template#: 5629, Serial#: 6069
    public void movlpd_r6069(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0503((byte) 0x12, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5630, Serial#: 6078
    public void movlpd(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0842((byte) 0x13, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5631, Serial#: 6086
    public void movlpd_r6086(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0843((byte) 0x13, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5632, Serial#: 6094
    public void movlpd_r6094(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0918((byte) 0x13, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5633, Serial#: 6073
    public void m_movlpd(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0844((byte) 0x13, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5634, Serial#: 6081
    public void m_movlpd_r6081(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0845((byte) 0x13, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5635, Serial#: 6089
    public void m_movlpd_r6089(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0919((byte) 0x13, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    [rbx + 305419896], xmm0}
     */
    // Template#: 5636, Serial#: 6077
    public void movlpd(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0846((byte) 0x13, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    [rbx + 305419896], xmm0}
     */
    // Template#: 5637, Serial#: 6085
    public void movlpd_r6085(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0847((byte) 0x13, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    [rbx + 305419896], xmm0}
     */
    // Template#: 5638, Serial#: 6093
    public void movlpd_r6093(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0920((byte) 0x13, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    [L1: +305419896], xmm0}
     */
    // Template#: 5639, Serial#: 6074
    public void rip_movlpd(int rel32, AMD64XMMRegister source) {
        assemble0848((byte) 0x13, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    [L1: +305419896], xmm0}
     */
    // Template#: 5640, Serial#: 6082
    public void rip_movlpd_r6082(int rel32, AMD64XMMRegister source) {
        assemble0849((byte) 0x13, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlpd  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movlpd    [L1: +305419896], xmm0}
     */
    // Template#: 5641, Serial#: 6090
    public void rip_movlpd_r6090(int rel32, AMD64XMMRegister source) {
        assemble0921((byte) 0x13, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlps  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movlps    rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5642, Serial#: 5929
    public void movlps(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0850((byte) 0x13, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlps  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movlps    rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5643, Serial#: 5937
    public void movlps_r5937(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0851((byte) 0x13, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlps  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movlps    rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5644, Serial#: 5945
    public void movlps_r5945(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0922((byte) 0x13, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlps  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movlps    [rbx + 18], xmm0}
     */
    // Template#: 5645, Serial#: 5928
    public void movlps(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0852((byte) 0x13, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlps  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movlps    [rbx + 18], xmm0}
     */
    // Template#: 5646, Serial#: 5936
    public void movlps_r5936(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0853((byte) 0x13, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlps  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movlps    [rbx + 18], xmm0}
     */
    // Template#: 5647, Serial#: 5944
    public void movlps_r5944(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0923((byte) 0x13, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlps  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movlps    rbx[rsi * 4], xmm0}
     */
    // Template#: 5648, Serial#: 5925
    public void movlps(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0854((byte) 0x13, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlps  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movlps    rbx[rsi * 4], xmm0}
     */
    // Template#: 5649, Serial#: 5933
    public void movlps_r5933(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0855((byte) 0x13, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlps  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movlps    rbx[rsi * 4], xmm0}
     */
    // Template#: 5650, Serial#: 5941
    public void movlps_r5941(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0924((byte) 0x13, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movlps    [rbx], xmm0}
     */
    // Template#: 5651, Serial#: 5924
    public void movlps(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0856((byte) 0x13, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movlps    [rbx], xmm0}
     */
    // Template#: 5652, Serial#: 5932
    public void movlps_r5932(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0857((byte) 0x13, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movlps    [rbx], xmm0}
     */
    // Template#: 5653, Serial#: 5940
    public void movlps_r5940(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0925((byte) 0x13, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlps  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movlps    rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5654, Serial#: 5931
    public void movlps(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0860((byte) 0x13, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlps  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movlps    rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5655, Serial#: 5939
    public void movlps_r5939(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0861((byte) 0x13, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlps  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movlps    rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5656, Serial#: 5947
    public void movlps_r5947(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0926((byte) 0x13, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlps  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movlps    0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5657, Serial#: 5926
    public void m_movlps(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0862((byte) 0x13, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlps  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movlps    0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5658, Serial#: 5934
    public void m_movlps_r5934(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0863((byte) 0x13, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlps  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movlps    0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5659, Serial#: 5942
    public void m_movlps_r5942(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0927((byte) 0x13, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlps  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movlps    [rbx + 305419896], xmm0}
     */
    // Template#: 5660, Serial#: 5930
    public void movlps(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0864((byte) 0x13, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlps  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movlps    [rbx + 305419896], xmm0}
     */
    // Template#: 5661, Serial#: 5938
    public void movlps_r5938(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0865((byte) 0x13, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlps  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movlps    [rbx + 305419896], xmm0}
     */
    // Template#: 5662, Serial#: 5946
    public void movlps_r5946(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0928((byte) 0x13, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlps  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movlps    [L1: +305419896], xmm0}
     */
    // Template#: 5663, Serial#: 5927
    public void rip_movlps(int rel32, AMD64XMMRegister source) {
        assemble0866((byte) 0x13, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlps  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movlps    [L1: +305419896], xmm0}
     */
    // Template#: 5664, Serial#: 5935
    public void rip_movlps_r5935(int rel32, AMD64XMMRegister source) {
        assemble0867((byte) 0x13, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movlps  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movlps    [L1: +305419896], xmm0}
     */
    // Template#: 5665, Serial#: 5943
    public void rip_movlps_r5943(int rel32, AMD64XMMRegister source) {
        assemble0929((byte) 0x13, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movmskpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movmskpd  eax, xmm0}
     */
    // Template#: 5666, Serial#: 6710
    public void movmskpd(AMD64GeneralRegister32 destination, AMD64XMMRegister source) {
        assemble0930((byte) 0x50, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movmskpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movmskpd  eax, xmm0}
     */
    // Template#: 5667, Serial#: 6711
    public void movmskpd_r6711(AMD64GeneralRegister32 destination, AMD64XMMRegister source) {
        assemble0931((byte) 0x50, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movmskpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movmskpd  eax, xmm0}
     */
    // Template#: 5668, Serial#: 6712
    public void movmskpd_r6712(AMD64GeneralRegister32 destination, AMD64XMMRegister source) {
        assemble0932((byte) 0x50, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movmskps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movmskps  eax, xmm0}
     */
    // Template#: 5669, Serial#: 6581
    public void movmskps(AMD64GeneralRegister32 destination, AMD64XMMRegister source) {
        assemble0933((byte) 0x50, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movmskps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movmskps  eax, xmm0}
     */
    // Template#: 5670, Serial#: 6582
    public void movmskps_r6582(AMD64GeneralRegister32 destination, AMD64XMMRegister source) {
        assemble0934((byte) 0x50, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movmskps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movmskps  eax, xmm0}
     */
    // Template#: 5671, Serial#: 6583
    public void movmskps_r6583(AMD64GeneralRegister32 destination, AMD64XMMRegister source) {
        assemble0935((byte) 0x50, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movnti  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movnti    rbx[rsi * 4 + 18], eax}
     */
    // Template#: 5672, Serial#: 8023
    public void movnti(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0280((byte) 0xC3, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movnti  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movnti    rbx[rsi * 4 + 18], rax}
     */
    // Template#: 5673, Serial#: 8031
    public void movnti(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0281((byte) 0xC3, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movnti  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movnti    [rbx + 18], eax}
     */
    // Template#: 5674, Serial#: 8022
    public void movnti(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0286((byte) 0xC3, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movnti  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movnti    [rbx + 18], rax}
     */
    // Template#: 5675, Serial#: 8030
    public void movnti(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0287((byte) 0xC3, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movnti  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movnti    rbx[rsi * 4], eax}
     */
    // Template#: 5676, Serial#: 8019
    public void movnti(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0292((byte) 0xC3, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movnti  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movnti    rbx[rsi * 4], rax}
     */
    // Template#: 5677, Serial#: 8027
    public void movnti(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0293((byte) 0xC3, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movnti  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movnti    [rbx], eax}
     */
    // Template#: 5678, Serial#: 8018
    public void movnti(AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0304((byte) 0xC3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movnti  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movnti    [rbx], rax}
     */
    // Template#: 5679, Serial#: 8026
    public void movnti(AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0305((byte) 0xC3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movnti  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movnti    rbx[rsi * 4 + 305419896], eax}
     */
    // Template#: 5680, Serial#: 8025
    public void movnti(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0313((byte) 0xC3, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movnti  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movnti    rbx[rsi * 4 + 305419896], rax}
     */
    // Template#: 5681, Serial#: 8033
    public void movnti(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0314((byte) 0xC3, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movnti  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movnti    [L1: +305419896], eax}
     */
    // Template#: 5682, Serial#: 8021
    public void rip_movnti(int rel32, AMD64GeneralRegister32 source) {
        assemble0316((byte) 0xC3, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movnti  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movnti    [L1: +305419896], rax}
     */
    // Template#: 5683, Serial#: 8029
    public void rip_movnti(int rel32, AMD64GeneralRegister64 source) {
        assemble0317((byte) 0xC3, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movnti  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movnti    0x12345678[rsi * 4], eax}
     */
    // Template#: 5684, Serial#: 8020
    public void m_movnti(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0322((byte) 0xC3, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movnti  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movnti    0x12345678[rsi * 4], rax}
     */
    // Template#: 5685, Serial#: 8028
    public void m_movnti(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0323((byte) 0xC3, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movnti  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movnti    [rbx + 305419896], eax}
     */
    // Template#: 5686, Serial#: 8024
    public void movnti(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0328((byte) 0xC3, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movnti  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movnti    [rbx + 305419896], rax}
     */
    // Template#: 5687, Serial#: 8032
    public void movnti(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0329((byte) 0xC3, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntpd  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntpd   rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5688, Serial#: 9545
    public void movntpd(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0832((byte) 0x2B, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntpd  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntpd   rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5689, Serial#: 9553
    public void movntpd_r9553(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0833((byte) 0x2B, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntpd  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntpd   rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5690, Serial#: 9561
    public void movntpd_r9561(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0914((byte) 0x2B, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntpd  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movntpd   [rbx + 18], xmm0}
     */
    // Template#: 5691, Serial#: 9544
    public void movntpd(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0834((byte) 0x2B, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntpd  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movntpd   [rbx + 18], xmm0}
     */
    // Template#: 5692, Serial#: 9552
    public void movntpd_r9552(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0835((byte) 0x2B, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntpd  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movntpd   [rbx + 18], xmm0}
     */
    // Template#: 5693, Serial#: 9560
    public void movntpd_r9560(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0915((byte) 0x2B, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntpd  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntpd   rbx[rsi * 4], xmm0}
     */
    // Template#: 5694, Serial#: 9541
    public void movntpd(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0836((byte) 0x2B, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntpd  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntpd   rbx[rsi * 4], xmm0}
     */
    // Template#: 5695, Serial#: 9549
    public void movntpd_r9549(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0837((byte) 0x2B, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntpd  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntpd   rbx[rsi * 4], xmm0}
     */
    // Template#: 5696, Serial#: 9557
    public void movntpd_r9557(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0916((byte) 0x2B, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movntpd   [rbx], xmm0}
     */
    // Template#: 5697, Serial#: 9540
    public void movntpd(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0838((byte) 0x2B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movntpd   [rbx], xmm0}
     */
    // Template#: 5698, Serial#: 9548
    public void movntpd_r9548(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0839((byte) 0x2B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movntpd   [rbx], xmm0}
     */
    // Template#: 5699, Serial#: 9556
    public void movntpd_r9556(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0917((byte) 0x2B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntpd  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntpd   rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5700, Serial#: 9547
    public void movntpd(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0842((byte) 0x2B, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntpd  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntpd   rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5701, Serial#: 9555
    public void movntpd_r9555(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0843((byte) 0x2B, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntpd  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntpd   rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5702, Serial#: 9563
    public void movntpd_r9563(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0918((byte) 0x2B, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntpd  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntpd   0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5703, Serial#: 9542
    public void m_movntpd(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0844((byte) 0x2B, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntpd  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntpd   0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5704, Serial#: 9550
    public void m_movntpd_r9550(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0845((byte) 0x2B, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntpd  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntpd   0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5705, Serial#: 9558
    public void m_movntpd_r9558(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0919((byte) 0x2B, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntpd  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movntpd   [rbx + 305419896], xmm0}
     */
    // Template#: 5706, Serial#: 9546
    public void movntpd(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0846((byte) 0x2B, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntpd  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movntpd   [rbx + 305419896], xmm0}
     */
    // Template#: 5707, Serial#: 9554
    public void movntpd_r9554(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0847((byte) 0x2B, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntpd  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movntpd   [rbx + 305419896], xmm0}
     */
    // Template#: 5708, Serial#: 9562
    public void movntpd_r9562(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0920((byte) 0x2B, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntpd  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movntpd   [L1: +305419896], xmm0}
     */
    // Template#: 5709, Serial#: 9543
    public void rip_movntpd(int rel32, AMD64XMMRegister source) {
        assemble0848((byte) 0x2B, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntpd  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movntpd   [L1: +305419896], xmm0}
     */
    // Template#: 5710, Serial#: 9551
    public void rip_movntpd_r9551(int rel32, AMD64XMMRegister source) {
        assemble0849((byte) 0x2B, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntpd  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movntpd   [L1: +305419896], xmm0}
     */
    // Template#: 5711, Serial#: 9559
    public void rip_movntpd_r9559(int rel32, AMD64XMMRegister source) {
        assemble0921((byte) 0x2B, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntps  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntps   rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5712, Serial#: 9386
    public void movntps(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0850((byte) 0x2B, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntps  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntps   rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5713, Serial#: 9394
    public void movntps_r9394(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0851((byte) 0x2B, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntps  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntps   rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5714, Serial#: 9402
    public void movntps_r9402(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0922((byte) 0x2B, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntps  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movntps   [rbx + 18], xmm0}
     */
    // Template#: 5715, Serial#: 9385
    public void movntps(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0852((byte) 0x2B, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntps  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movntps   [rbx + 18], xmm0}
     */
    // Template#: 5716, Serial#: 9393
    public void movntps_r9393(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0853((byte) 0x2B, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntps  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movntps   [rbx + 18], xmm0}
     */
    // Template#: 5717, Serial#: 9401
    public void movntps_r9401(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0923((byte) 0x2B, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntps  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntps   rbx[rsi * 4], xmm0}
     */
    // Template#: 5718, Serial#: 9382
    public void movntps(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0854((byte) 0x2B, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntps  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntps   rbx[rsi * 4], xmm0}
     */
    // Template#: 5719, Serial#: 9390
    public void movntps_r9390(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0855((byte) 0x2B, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntps  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntps   rbx[rsi * 4], xmm0}
     */
    // Template#: 5720, Serial#: 9398
    public void movntps_r9398(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0924((byte) 0x2B, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movntps   [rbx], xmm0}
     */
    // Template#: 5721, Serial#: 9381
    public void movntps(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0856((byte) 0x2B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movntps   [rbx], xmm0}
     */
    // Template#: 5722, Serial#: 9389
    public void movntps_r9389(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0857((byte) 0x2B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movntps   [rbx], xmm0}
     */
    // Template#: 5723, Serial#: 9397
    public void movntps_r9397(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0925((byte) 0x2B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntps  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntps   rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5724, Serial#: 9388
    public void movntps(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0860((byte) 0x2B, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntps  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntps   rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5725, Serial#: 9396
    public void movntps_r9396(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0861((byte) 0x2B, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntps  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntps   rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5726, Serial#: 9404
    public void movntps_r9404(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0926((byte) 0x2B, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntps  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntps   0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5727, Serial#: 9383
    public void m_movntps(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0862((byte) 0x2B, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntps  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntps   0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5728, Serial#: 9391
    public void m_movntps_r9391(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0863((byte) 0x2B, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntps  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntps   0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5729, Serial#: 9399
    public void m_movntps_r9399(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0927((byte) 0x2B, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntps  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movntps   [rbx + 305419896], xmm0}
     */
    // Template#: 5730, Serial#: 9387
    public void movntps(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0864((byte) 0x2B, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntps  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movntps   [rbx + 305419896], xmm0}
     */
    // Template#: 5731, Serial#: 9395
    public void movntps_r9395(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0865((byte) 0x2B, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntps  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movntps   [rbx + 305419896], xmm0}
     */
    // Template#: 5732, Serial#: 9403
    public void movntps_r9403(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0928((byte) 0x2B, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntps  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movntps   [L1: +305419896], xmm0}
     */
    // Template#: 5733, Serial#: 9384
    public void rip_movntps(int rel32, AMD64XMMRegister source) {
        assemble0866((byte) 0x2B, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntps  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movntps   [L1: +305419896], xmm0}
     */
    // Template#: 5734, Serial#: 9392
    public void rip_movntps_r9392(int rel32, AMD64XMMRegister source) {
        assemble0867((byte) 0x2B, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntps  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movntps   [L1: +305419896], xmm0}
     */
    // Template#: 5735, Serial#: 9400
    public void rip_movntps_r9400(int rel32, AMD64XMMRegister source) {
        assemble0929((byte) 0x2B, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntq    rbx[rsi * 4 + 18], mm0}
     */
    // Template#: 5736, Serial#: 8612
    public void movntq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0868((byte) 0xE7, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntq    rbx[rsi * 4 + 18], mm0}
     */
    // Template#: 5737, Serial#: 8620
    public void movntq_r8620(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0869((byte) 0xE7, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntq    rbx[rsi * 4 + 18], mm0}
     */
    // Template#: 5738, Serial#: 8628
    public void movntq_r8628(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0936((byte) 0xE7, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntq  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movntq    [rbx + 18], mm0}
     */
    // Template#: 5739, Serial#: 8611
    public void movntq(byte disp8, AMD64IndirectRegister64 destination, MMXRegister source) {
        assemble0870((byte) 0xE7, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntq  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movntq    [rbx + 18], mm0}
     */
    // Template#: 5740, Serial#: 8619
    public void movntq_r8619(byte disp8, AMD64IndirectRegister64 destination, MMXRegister source) {
        assemble0871((byte) 0xE7, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntq  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movntq    [rbx + 18], mm0}
     */
    // Template#: 5741, Serial#: 8627
    public void movntq_r8627(byte disp8, AMD64IndirectRegister64 destination, MMXRegister source) {
        assemble0937((byte) 0xE7, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntq    rbx[rsi * 4], mm0}
     */
    // Template#: 5742, Serial#: 8608
    public void movntq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0872((byte) 0xE7, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntq    rbx[rsi * 4], mm0}
     */
    // Template#: 5743, Serial#: 8616
    public void movntq_r8616(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0873((byte) 0xE7, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntq    rbx[rsi * 4], mm0}
     */
    // Template#: 5744, Serial#: 8624
    public void movntq_r8624(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0938((byte) 0xE7, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movntq    [rbx], mm0}
     */
    // Template#: 5745, Serial#: 8607
    public void movntq(AMD64IndirectRegister64 destination, MMXRegister source) {
        assemble0878((byte) 0xE7, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movntq    [rbx], mm0}
     */
    // Template#: 5746, Serial#: 8615
    public void movntq_r8615(AMD64IndirectRegister64 destination, MMXRegister source) {
        assemble0879((byte) 0xE7, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movntq    [rbx], mm0}
     */
    // Template#: 5747, Serial#: 8623
    public void movntq_r8623(AMD64IndirectRegister64 destination, MMXRegister source) {
        assemble0939((byte) 0xE7, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntq    rbx[rsi * 4 + 305419896], mm0}
     */
    // Template#: 5748, Serial#: 8614
    public void movntq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0884((byte) 0xE7, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntq    rbx[rsi * 4 + 305419896], mm0}
     */
    // Template#: 5749, Serial#: 8622
    public void movntq_r8622(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0885((byte) 0xE7, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntq    rbx[rsi * 4 + 305419896], mm0}
     */
    // Template#: 5750, Serial#: 8630
    public void movntq_r8630(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0940((byte) 0xE7, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntq    0x12345678[rsi * 4], mm0}
     */
    // Template#: 5751, Serial#: 8609
    public void m_movntq(int m32, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0886((byte) 0xE7, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntq    0x12345678[rsi * 4], mm0}
     */
    // Template#: 5752, Serial#: 8617
    public void m_movntq_r8617(int m32, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0887((byte) 0xE7, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movntq    0x12345678[rsi * 4], mm0}
     */
    // Template#: 5753, Serial#: 8625
    public void m_movntq_r8625(int m32, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0941((byte) 0xE7, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntq  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movntq    [rbx + 305419896], mm0}
     */
    // Template#: 5754, Serial#: 8613
    public void movntq(int disp32, AMD64IndirectRegister64 destination, MMXRegister source) {
        assemble0888((byte) 0xE7, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntq  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movntq    [rbx + 305419896], mm0}
     */
    // Template#: 5755, Serial#: 8621
    public void movntq_r8621(int disp32, AMD64IndirectRegister64 destination, MMXRegister source) {
        assemble0889((byte) 0xE7, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntq  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movntq    [rbx + 305419896], mm0}
     */
    // Template#: 5756, Serial#: 8629
    public void movntq_r8629(int disp32, AMD64IndirectRegister64 destination, MMXRegister source) {
        assemble0942((byte) 0xE7, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntq  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movntq    [L1: +305419896], mm0}
     */
    // Template#: 5757, Serial#: 8610
    public void rip_movntq(int rel32, MMXRegister source) {
        assemble0890((byte) 0xE7, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntq  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movntq    [L1: +305419896], mm0}
     */
    // Template#: 5758, Serial#: 8618
    public void rip_movntq_r8618(int rel32, MMXRegister source) {
        assemble0891((byte) 0xE7, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movntq  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movntq    [L1: +305419896], mm0}
     */
    // Template#: 5759, Serial#: 8626
    public void rip_movntq_r8626(int rel32, MMXRegister source) {
        assemble0943((byte) 0xE7, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5760, Serial#: 8423
    public void movq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0832((byte) 0xD6, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5761, Serial#: 8432
    public void movq_r8432(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0833((byte) 0xD6, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      rbx[rsi * 4 + 18], mm0}
     */
    // Template#: 5762, Serial#: 10856
    public void movq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0868((byte) 0x7F, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      rbx[rsi * 4 + 18], mm0}
     */
    // Template#: 5763, Serial#: 10865
    public void movq_r10865(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0869((byte) 0x7F, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      rbx[rsi * 4 + 18], mm0}
     */
    // Template#: 5764, Serial#: 10874
    public void movq_r10874(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0936((byte) 0x7F, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      [rbx + 18], xmm0}
     */
    // Template#: 5765, Serial#: 8422
    public void movq(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0834((byte) 0xD6, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      [rbx + 18], xmm0}
     */
    // Template#: 5766, Serial#: 8431
    public void movq_r8431(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0835((byte) 0xD6, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      [rbx + 18], mm0}
     */
    // Template#: 5767, Serial#: 10855
    public void movq(byte disp8, AMD64IndirectRegister64 destination, MMXRegister source) {
        assemble0870((byte) 0x7F, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      [rbx + 18], mm0}
     */
    // Template#: 5768, Serial#: 10864
    public void movq_r10864(byte disp8, AMD64IndirectRegister64 destination, MMXRegister source) {
        assemble0871((byte) 0x7F, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      [rbx + 18], mm0}
     */
    // Template#: 5769, Serial#: 10873
    public void movq_r10873(byte disp8, AMD64IndirectRegister64 destination, MMXRegister source) {
        assemble0937((byte) 0x7F, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      rbx[rsi * 4], xmm0}
     */
    // Template#: 5770, Serial#: 8419
    public void movq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0836((byte) 0xD6, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      rbx[rsi * 4], xmm0}
     */
    // Template#: 5771, Serial#: 8428
    public void movq_r8428(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0837((byte) 0xD6, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      rbx[rsi * 4], mm0}
     */
    // Template#: 5772, Serial#: 10852
    public void movq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0872((byte) 0x7F, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      rbx[rsi * 4], mm0}
     */
    // Template#: 5773, Serial#: 10861
    public void movq_r10861(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0873((byte) 0x7F, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      rbx[rsi * 4], mm0}
     */
    // Template#: 5774, Serial#: 10870
    public void movq_r10870(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0938((byte) 0x7F, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      [rbx], xmm0}
     */
    // Template#: 5775, Serial#: 8418
    public void movq(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0838((byte) 0xD6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      [rbx], xmm0}
     */
    // Template#: 5776, Serial#: 8427
    public void movq_r8427(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0839((byte) 0xD6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      [rbx], mm0}
     */
    // Template#: 5777, Serial#: 10851
    public void movq(AMD64IndirectRegister64 destination, MMXRegister source) {
        assemble0878((byte) 0x7F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      [rbx], mm0}
     */
    // Template#: 5778, Serial#: 10860
    public void movq_r10860(AMD64IndirectRegister64 destination, MMXRegister source) {
        assemble0879((byte) 0x7F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      [rbx], mm0}
     */
    // Template#: 5779, Serial#: 10869
    public void movq_r10869(AMD64IndirectRegister64 destination, MMXRegister source) {
        assemble0939((byte) 0x7F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movq      xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5780, Serial#: 10991
    public void movq(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0229((byte) 0x7E, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movq      xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5781, Serial#: 11000
    public void movq_r11000(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0230((byte) 0x7E, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      xmm0, [rbx + 18]}
     */
    // Template#: 5782, Serial#: 10990
    public void movq(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0231((byte) 0x7E, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      xmm0, [rbx + 18]}
     */
    // Template#: 5783, Serial#: 10999
    public void movq_r10999(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0232((byte) 0x7E, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movq      xmm0, rbx[rsi * 4]}
     */
    // Template#: 5784, Serial#: 10987
    public void movq(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0233((byte) 0x7E, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movq      xmm0, rbx[rsi * 4]}
     */
    // Template#: 5785, Serial#: 10996
    public void movq_r10996(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0234((byte) 0x7E, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      xmm0, [rbx]}
     */
    // Template#: 5786, Serial#: 10986
    public void movq(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0235((byte) 0x7E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      xmm0, [rbx]}
     */
    // Template#: 5787, Serial#: 10995
    public void movq_r10995(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0236((byte) 0x7E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      xmm0, xmm0}
     */
    // Template#: 5788, Serial#: 8426
    public void movq(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0840((byte) 0xD6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      xmm0, xmm0}
     */
    // Template#: 5789, Serial#: 8435
    public void movq_r8435(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0841((byte) 0xD6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      xmm0, xmm0}
     */
    // Template#: 5790, Serial#: 10994
    public void movq_r10994(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0237((byte) 0x7E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      xmm0, xmm0}
     */
    // Template#: 5791, Serial#: 11003
    public void movq_r11003(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0238((byte) 0x7E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movq      xmm0, [L1: +305419896]}
     */
    // Template#: 5792, Serial#: 10989
    public void rip_movq(AMD64XMMRegister destination, int rel32) {
        assemble0239((byte) 0x7E, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movq      xmm0, [L1: +305419896]}
     */
    // Template#: 5793, Serial#: 10998
    public void rip_movq_r10998(AMD64XMMRegister destination, int rel32) {
        assemble0240((byte) 0x7E, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movq      xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5794, Serial#: 10993
    public void movq(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0241((byte) 0x7E, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movq      xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5795, Serial#: 11002
    public void movq_r11002(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0242((byte) 0x7E, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movq      xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5796, Serial#: 10988
    public void m_movq(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0243((byte) 0x7E, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movq      xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5797, Serial#: 10997
    public void m_movq_r10997(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0244((byte) 0x7E, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      xmm0, [rbx + 305419896]}
     */
    // Template#: 5798, Serial#: 10992
    public void movq(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0245((byte) 0x7E, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      xmm0, [rbx + 305419896]}
     */
    // Template#: 5799, Serial#: 11001
    public void movq_r11001(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0246((byte) 0x7E, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movq      mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5800, Serial#: 10649
    public void movq(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0x6F, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movq      mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5801, Serial#: 10658
    public void movq_r10658(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0x6F, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movq      mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5802, Serial#: 10667
    public void movq_r10667(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0x6F, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      mm0, [rbx + 18]}
     */
    // Template#: 5803, Serial#: 10648
    public void movq(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0x6F, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      mm0, [rbx + 18]}
     */
    // Template#: 5804, Serial#: 10657
    public void movq_r10657(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0x6F, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      mm0, [rbx + 18]}
     */
    // Template#: 5805, Serial#: 10666
    public void movq_r10666(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0x6F, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movq      mm0, rbx[rsi * 4]}
     */
    // Template#: 5806, Serial#: 10645
    public void movq(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0x6F, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movq      mm0, rbx[rsi * 4]}
     */
    // Template#: 5807, Serial#: 10654
    public void movq_r10654(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0x6F, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movq      mm0, rbx[rsi * 4]}
     */
    // Template#: 5808, Serial#: 10663
    public void movq_r10663(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0x6F, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      mm0, [rbx]}
     */
    // Template#: 5809, Serial#: 10644
    public void movq(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0x6F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      mm0, [rbx]}
     */
    // Template#: 5810, Serial#: 10653
    public void movq_r10653(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0x6F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      mm0, [rbx]}
     */
    // Template#: 5811, Serial#: 10662
    public void movq_r10662(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0x6F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      mm0, mm0}
     */
    // Template#: 5812, Serial#: 10652
    public void movq(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0x6F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      mm0, mm0}
     */
    // Template#: 5813, Serial#: 10661
    public void movq_r10661(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0x6F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      mm0, mm0}
     */
    // Template#: 5814, Serial#: 10670
    public void movq_r10670(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0x6F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      mm0, mm0}
     */
    // Template#: 5815, Serial#: 10859
    public void movq_r10859(MMXRegister destination, MMXRegister source) {
        assemble0948((byte) 0x7F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      mm0, mm0}
     */
    // Template#: 5816, Serial#: 10868
    public void movq_r10868(MMXRegister destination, MMXRegister source) {
        assemble0949((byte) 0x7F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      mm0, mm0}
     */
    // Template#: 5817, Serial#: 10877
    public void movq_r10877(MMXRegister destination, MMXRegister source) {
        assemble0950((byte) 0x7F, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movq      mm0, [L1: +305419896]}
     */
    // Template#: 5818, Serial#: 10647
    public void rip_movq(MMXRegister destination, int rel32) {
        assemble0525((byte) 0x6F, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movq      mm0, [L1: +305419896]}
     */
    // Template#: 5819, Serial#: 10656
    public void rip_movq_r10656(MMXRegister destination, int rel32) {
        assemble0526((byte) 0x6F, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movq      mm0, [L1: +305419896]}
     */
    // Template#: 5820, Serial#: 10665
    public void rip_movq_r10665(MMXRegister destination, int rel32) {
        assemble0951((byte) 0x6F, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movq      mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5821, Serial#: 10651
    public void movq(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0x6F, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movq      mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5822, Serial#: 10660
    public void movq_r10660(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0x6F, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movq      mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5823, Serial#: 10669
    public void movq_r10669(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0x6F, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movq      mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5824, Serial#: 10646
    public void m_movq(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0x6F, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movq      mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5825, Serial#: 10655
    public void m_movq_r10655(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0x6F, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movq      mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5826, Serial#: 10664
    public void m_movq_r10664(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0x6F, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      mm0, [rbx + 305419896]}
     */
    // Template#: 5827, Serial#: 10650
    public void movq(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0x6F, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      mm0, [rbx + 305419896]}
     */
    // Template#: 5828, Serial#: 10659
    public void movq_r10659(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0x6F, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      mm0, [rbx + 305419896]}
     */
    // Template#: 5829, Serial#: 10668
    public void movq_r10668(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0x6F, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5830, Serial#: 8425
    public void movq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0842((byte) 0xD6, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5831, Serial#: 8434
    public void movq_r8434(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0843((byte) 0xD6, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      rbx[rsi * 4 + 305419896], mm0}
     */
    // Template#: 5832, Serial#: 10858
    public void movq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0884((byte) 0x7F, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      rbx[rsi * 4 + 305419896], mm0}
     */
    // Template#: 5833, Serial#: 10867
    public void movq_r10867(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0885((byte) 0x7F, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      rbx[rsi * 4 + 305419896], mm0}
     */
    // Template#: 5834, Serial#: 10876
    public void movq_r10876(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0940((byte) 0x7F, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5835, Serial#: 8420
    public void m_movq(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0844((byte) 0xD6, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5836, Serial#: 8429
    public void m_movq_r8429(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0845((byte) 0xD6, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      0x12345678[rsi * 4], mm0}
     */
    // Template#: 5837, Serial#: 10853
    public void m_movq(int m32, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0886((byte) 0x7F, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      0x12345678[rsi * 4], mm0}
     */
    // Template#: 5838, Serial#: 10862
    public void m_movq_r10862(int m32, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0887((byte) 0x7F, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      0x12345678[rsi * 4], mm0}
     */
    // Template#: 5839, Serial#: 10871
    public void m_movq_r10871(int m32, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        assemble0941((byte) 0x7F, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      [rbx + 305419896], xmm0}
     */
    // Template#: 5840, Serial#: 8424
    public void movq(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0846((byte) 0xD6, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      [rbx + 305419896], xmm0}
     */
    // Template#: 5841, Serial#: 8433
    public void movq_r8433(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0847((byte) 0xD6, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      [rbx + 305419896], mm0}
     */
    // Template#: 5842, Serial#: 10857
    public void movq(int disp32, AMD64IndirectRegister64 destination, MMXRegister source) {
        assemble0888((byte) 0x7F, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      [rbx + 305419896], mm0}
     */
    // Template#: 5843, Serial#: 10866
    public void movq_r10866(int disp32, AMD64IndirectRegister64 destination, MMXRegister source) {
        assemble0889((byte) 0x7F, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      [rbx + 305419896], mm0}
     */
    // Template#: 5844, Serial#: 10875
    public void movq_r10875(int disp32, AMD64IndirectRegister64 destination, MMXRegister source) {
        assemble0942((byte) 0x7F, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      [L1: +305419896], xmm0}
     */
    // Template#: 5845, Serial#: 8421
    public void rip_movq(int rel32, AMD64XMMRegister source) {
        assemble0848((byte) 0xD6, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      [L1: +305419896], xmm0}
     */
    // Template#: 5846, Serial#: 8430
    public void rip_movq_r8430(int rel32, AMD64XMMRegister source) {
        assemble0849((byte) 0xD6, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      [L1: +305419896], mm0}
     */
    // Template#: 5847, Serial#: 10854
    public void rip_movq(int rel32, MMXRegister source) {
        assemble0890((byte) 0x7F, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      [L1: +305419896], mm0}
     */
    // Template#: 5848, Serial#: 10863
    public void rip_movq_r10863(int rel32, MMXRegister source) {
        assemble0891((byte) 0x7F, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movq      [L1: +305419896], mm0}
     */
    // Template#: 5849, Serial#: 10872
    public void rip_movq_r10872(int rel32, MMXRegister source) {
        assemble0943((byte) 0x7F, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq2dq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq2dq   xmm0, mm0}
     */
    // Template#: 5850, Serial#: 8442
    public void movq2dq(AMD64XMMRegister destination, MMXRegister source) {
        assemble0955((byte) 0xD6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq2dq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq2dq   xmm0, mm0}
     */
    // Template#: 5851, Serial#: 8443
    public void movq2dq_r8443(AMD64XMMRegister destination, MMXRegister source) {
        assemble0956((byte) 0xD6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movq2dq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movq2dq   xmm0, mm0}
     */
    // Template#: 5852, Serial#: 8444
    public void movq2dq_r8444(AMD64XMMRegister destination, MMXRegister source) {
        assemble0957((byte) 0xD6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsb  }
     * Example disassembly syntax: {@code movsb   }
     */
    // Template#: 5853, Serial#: 1271
    public void movsb() {
        assemble0208((byte) 0xA4);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsb  }
     * Example disassembly syntax: {@code movsb   }
     */
    // Template#: 5854, Serial#: 1272
    public void movsb_r1272() {
        assemble0209((byte) 0xA4);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsb  }
     * Example disassembly syntax: {@code movsb   }
     */
    // Template#: 5855, Serial#: 1273
    public void movsb_r1273() {
        assemble0210((byte) 0xA4);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsl  }
     * Example disassembly syntax: {@code movsl   }
     */
    // Template#: 5856, Serial#: 1274
    public void movsl() {
        assemble0208((byte) 0xA5);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsq  }
     * Example disassembly syntax: {@code movsq   }
     */
    // Template#: 5857, Serial#: 1275
    public void movsq() {
        assemble0209((byte) 0xA5);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsw  }
     * Example disassembly syntax: {@code movsw   }
     */
    // Template#: 5858, Serial#: 1276
    public void movsw() {
        assemble0210((byte) 0xA5);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5859, Serial#: 6220
    public void movsd(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0958((byte) 0x11, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5860, Serial#: 6229
    public void movsd_r6229(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0959((byte) 0x11, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     [rbx + 18], xmm0}
     */
    // Template#: 5861, Serial#: 6219
    public void movsd(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0960((byte) 0x11, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     [rbx + 18], xmm0}
     */
    // Template#: 5862, Serial#: 6228
    public void movsd_r6228(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0961((byte) 0x11, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     rbx[rsi * 4], xmm0}
     */
    // Template#: 5863, Serial#: 6216
    public void movsd(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0962((byte) 0x11, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     rbx[rsi * 4], xmm0}
     */
    // Template#: 5864, Serial#: 6225
    public void movsd_r6225(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0963((byte) 0x11, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     [rbx], xmm0}
     */
    // Template#: 5865, Serial#: 6215
    public void movsd(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0964((byte) 0x11, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     [rbx], xmm0}
     */
    // Template#: 5866, Serial#: 6224
    public void movsd_r6224(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0965((byte) 0x11, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5867, Serial#: 6184
    public void movsd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0211((byte) 0x10, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5868, Serial#: 6193
    public void movsd_r6193(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0212((byte) 0x10, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5869, Serial#: 6202
    public void movsd_r6202(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0211((byte) 0x10, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5870, Serial#: 6211
    public void movsd_r6211(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0212((byte) 0x10, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     xmm0, [rbx + 18]}
     */
    // Template#: 5871, Serial#: 6183
    public void movsd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0213((byte) 0x10, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     xmm0, [rbx + 18]}
     */
    // Template#: 5872, Serial#: 6192
    public void movsd_r6192(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0214((byte) 0x10, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     xmm0, [rbx + 18]}
     */
    // Template#: 5873, Serial#: 6201
    public void movsd_r6201(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0213((byte) 0x10, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     xmm0, [rbx + 18]}
     */
    // Template#: 5874, Serial#: 6210
    public void movsd_r6210(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0214((byte) 0x10, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 5875, Serial#: 6180
    public void movsd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0215((byte) 0x10, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 5876, Serial#: 6189
    public void movsd_r6189(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0216((byte) 0x10, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 5877, Serial#: 6198
    public void movsd_r6198(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0215((byte) 0x10, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 5878, Serial#: 6207
    public void movsd_r6207(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0216((byte) 0x10, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     xmm0, [rbx]}
     */
    // Template#: 5879, Serial#: 6179
    public void movsd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0217((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     xmm0, [rbx]}
     */
    // Template#: 5880, Serial#: 6188
    public void movsd_r6188(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0218((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     xmm0, [rbx]}
     */
    // Template#: 5881, Serial#: 6197
    public void movsd_r6197(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0217((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     xmm0, [rbx]}
     */
    // Template#: 5882, Serial#: 6206
    public void movsd_r6206(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0218((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     xmm0, xmm0}
     */
    // Template#: 5883, Serial#: 6187
    public void movsd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0219((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     xmm0, xmm0}
     */
    // Template#: 5884, Serial#: 6196
    public void movsd_r6196(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0220((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     xmm0, xmm0}
     */
    // Template#: 5885, Serial#: 6205
    public void movsd_r6205(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0219((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     xmm0, xmm0}
     */
    // Template#: 5886, Serial#: 6214
    public void movsd_r6214(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0220((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     xmm0, xmm0}
     */
    // Template#: 5887, Serial#: 6223
    public void movsd_r6223(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0966((byte) 0x11, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     xmm0, xmm0}
     */
    // Template#: 5888, Serial#: 6232
    public void movsd_r6232(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0967((byte) 0x11, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movsd     xmm0, [L1: +305419896]}
     */
    // Template#: 5889, Serial#: 6182
    public void rip_movsd(AMD64XMMRegister destination, int rel32) {
        assemble0221((byte) 0x10, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movsd     xmm0, [L1: +305419896]}
     */
    // Template#: 5890, Serial#: 6191
    public void rip_movsd_r6191(AMD64XMMRegister destination, int rel32) {
        assemble0222((byte) 0x10, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movsd     xmm0, [L1: +305419896]}
     */
    // Template#: 5891, Serial#: 6200
    public void rip_movsd_r6200(AMD64XMMRegister destination, int rel32) {
        assemble0221((byte) 0x10, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movsd     xmm0, [L1: +305419896]}
     */
    // Template#: 5892, Serial#: 6209
    public void rip_movsd_r6209(AMD64XMMRegister destination, int rel32) {
        assemble0222((byte) 0x10, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5893, Serial#: 6186
    public void movsd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0223((byte) 0x10, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5894, Serial#: 6195
    public void movsd_r6195(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0224((byte) 0x10, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5895, Serial#: 6204
    public void movsd_r6204(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0223((byte) 0x10, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5896, Serial#: 6213
    public void movsd_r6213(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0224((byte) 0x10, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5897, Serial#: 6181
    public void m_movsd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0225((byte) 0x10, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5898, Serial#: 6190
    public void m_movsd_r6190(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0226((byte) 0x10, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5899, Serial#: 6199
    public void m_movsd_r6199(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0225((byte) 0x10, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5900, Serial#: 6208
    public void m_movsd_r6208(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0226((byte) 0x10, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     xmm0, [rbx + 305419896]}
     */
    // Template#: 5901, Serial#: 6185
    public void movsd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0227((byte) 0x10, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     xmm0, [rbx + 305419896]}
     */
    // Template#: 5902, Serial#: 6194
    public void movsd_r6194(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0228((byte) 0x10, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     xmm0, [rbx + 305419896]}
     */
    // Template#: 5903, Serial#: 6203
    public void movsd_r6203(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0227((byte) 0x10, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     xmm0, [rbx + 305419896]}
     */
    // Template#: 5904, Serial#: 6212
    public void movsd_r6212(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0228((byte) 0x10, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5905, Serial#: 6222
    public void movsd(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0968((byte) 0x11, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5906, Serial#: 6231
    public void movsd_r6231(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0969((byte) 0x11, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5907, Serial#: 6217
    public void m_movsd(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0970((byte) 0x11, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5908, Serial#: 6226
    public void m_movsd_r6226(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0971((byte) 0x11, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     [rbx + 305419896], xmm0}
     */
    // Template#: 5909, Serial#: 6221
    public void movsd(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0972((byte) 0x11, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     [rbx + 305419896], xmm0}
     */
    // Template#: 5910, Serial#: 6230
    public void movsd_r6230(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0973((byte) 0x11, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     [L1: +305419896], xmm0}
     */
    // Template#: 5911, Serial#: 6218
    public void rip_movsd(int rel32, AMD64XMMRegister source) {
        assemble0974((byte) 0x11, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsd  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movsd     [L1: +305419896], xmm0}
     */
    // Template#: 5912, Serial#: 6227
    public void rip_movsd_r6227(int rel32, AMD64XMMRegister source) {
        assemble0975((byte) 0x11, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movshdup  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movshdup  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5913, Serial#: 6328
    public void movshdup(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0229((byte) 0x16, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movshdup  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movshdup  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5914, Serial#: 6337
    public void movshdup_r6337(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0230((byte) 0x16, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movshdup  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movshdup  xmm0, [rbx + 18]}
     */
    // Template#: 5915, Serial#: 6327
    public void movshdup(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0231((byte) 0x16, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movshdup  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movshdup  xmm0, [rbx + 18]}
     */
    // Template#: 5916, Serial#: 6336
    public void movshdup_r6336(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0232((byte) 0x16, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movshdup  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movshdup  xmm0, rbx[rsi * 4]}
     */
    // Template#: 5917, Serial#: 6324
    public void movshdup(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0233((byte) 0x16, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movshdup  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movshdup  xmm0, rbx[rsi * 4]}
     */
    // Template#: 5918, Serial#: 6333
    public void movshdup_r6333(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0234((byte) 0x16, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movshdup  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movshdup  xmm0, [rbx]}
     */
    // Template#: 5919, Serial#: 6323
    public void movshdup(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0235((byte) 0x16, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movshdup  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movshdup  xmm0, [rbx]}
     */
    // Template#: 5920, Serial#: 6332
    public void movshdup_r6332(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0236((byte) 0x16, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movshdup  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movshdup  xmm0, xmm0}
     */
    // Template#: 5921, Serial#: 6331
    public void movshdup(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0237((byte) 0x16, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movshdup  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movshdup  xmm0, xmm0}
     */
    // Template#: 5922, Serial#: 6340
    public void movshdup_r6340(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0238((byte) 0x16, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movshdup  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movshdup  xmm0, [L1: +305419896]}
     */
    // Template#: 5923, Serial#: 6326
    public void rip_movshdup(AMD64XMMRegister destination, int rel32) {
        assemble0239((byte) 0x16, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movshdup  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movshdup  xmm0, [L1: +305419896]}
     */
    // Template#: 5924, Serial#: 6335
    public void rip_movshdup_r6335(AMD64XMMRegister destination, int rel32) {
        assemble0240((byte) 0x16, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movshdup  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movshdup  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5925, Serial#: 6330
    public void movshdup(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0241((byte) 0x16, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movshdup  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movshdup  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5926, Serial#: 6339
    public void movshdup_r6339(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0242((byte) 0x16, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movshdup  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movshdup  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5927, Serial#: 6325
    public void m_movshdup(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0243((byte) 0x16, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movshdup  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movshdup  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5928, Serial#: 6334
    public void m_movshdup_r6334(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0244((byte) 0x16, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movshdup  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movshdup  xmm0, [rbx + 305419896]}
     */
    // Template#: 5929, Serial#: 6329
    public void movshdup(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0245((byte) 0x16, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movshdup  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movshdup  xmm0, [rbx + 305419896]}
     */
    // Template#: 5930, Serial#: 6338
    public void movshdup_r6338(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0246((byte) 0x16, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsldup  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsldup  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5931, Serial#: 6310
    public void movsldup(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0229((byte) 0x12, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsldup  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsldup  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5932, Serial#: 6319
    public void movsldup_r6319(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0230((byte) 0x12, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsldup  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movsldup  xmm0, [rbx + 18]}
     */
    // Template#: 5933, Serial#: 6309
    public void movsldup(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0231((byte) 0x12, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsldup  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movsldup  xmm0, [rbx + 18]}
     */
    // Template#: 5934, Serial#: 6318
    public void movsldup_r6318(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0232((byte) 0x12, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsldup  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsldup  xmm0, rbx[rsi * 4]}
     */
    // Template#: 5935, Serial#: 6306
    public void movsldup(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0233((byte) 0x12, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsldup  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsldup  xmm0, rbx[rsi * 4]}
     */
    // Template#: 5936, Serial#: 6315
    public void movsldup_r6315(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0234((byte) 0x12, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsldup  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsldup  xmm0, [rbx]}
     */
    // Template#: 5937, Serial#: 6305
    public void movsldup(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0235((byte) 0x12, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsldup  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsldup  xmm0, [rbx]}
     */
    // Template#: 5938, Serial#: 6314
    public void movsldup_r6314(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0236((byte) 0x12, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsldup  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsldup  xmm0, xmm0}
     */
    // Template#: 5939, Serial#: 6313
    public void movsldup(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0237((byte) 0x12, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsldup  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsldup  xmm0, xmm0}
     */
    // Template#: 5940, Serial#: 6322
    public void movsldup_r6322(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0238((byte) 0x12, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsldup  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movsldup  xmm0, [L1: +305419896]}
     */
    // Template#: 5941, Serial#: 6308
    public void rip_movsldup(AMD64XMMRegister destination, int rel32) {
        assemble0239((byte) 0x12, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsldup  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movsldup  xmm0, [L1: +305419896]}
     */
    // Template#: 5942, Serial#: 6317
    public void rip_movsldup_r6317(AMD64XMMRegister destination, int rel32) {
        assemble0240((byte) 0x12, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsldup  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsldup  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5943, Serial#: 6312
    public void movsldup(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0241((byte) 0x12, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsldup  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsldup  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5944, Serial#: 6321
    public void movsldup_r6321(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0242((byte) 0x12, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsldup  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsldup  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5945, Serial#: 6307
    public void m_movsldup(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0243((byte) 0x12, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsldup  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsldup  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5946, Serial#: 6316
    public void m_movsldup_r6316(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0244((byte) 0x12, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsldup  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movsldup  xmm0, [rbx + 305419896]}
     */
    // Template#: 5947, Serial#: 6311
    public void movsldup(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0245((byte) 0x12, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsldup  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movsldup  xmm0, [rbx + 305419896]}
     */
    // Template#: 5948, Serial#: 6320
    public void movsldup_r6320(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0246((byte) 0x12, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5949, Serial#: 6292
    public void movss(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0895((byte) 0x11, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 5950, Serial#: 6301
    public void movss_r6301(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0896((byte) 0x11, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     [rbx + 18], xmm0}
     */
    // Template#: 5951, Serial#: 6291
    public void movss(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0897((byte) 0x11, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     [rbx + 18], xmm0}
     */
    // Template#: 5952, Serial#: 6300
    public void movss_r6300(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0898((byte) 0x11, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     rbx[rsi * 4], xmm0}
     */
    // Template#: 5953, Serial#: 6288
    public void movss(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0899((byte) 0x11, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     rbx[rsi * 4], xmm0}
     */
    // Template#: 5954, Serial#: 6297
    public void movss_r6297(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0900((byte) 0x11, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     [rbx], xmm0}
     */
    // Template#: 5955, Serial#: 6287
    public void movss(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0901((byte) 0x11, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     [rbx], xmm0}
     */
    // Template#: 5956, Serial#: 6296
    public void movss_r6296(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0902((byte) 0x11, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movss     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5957, Serial#: 6256
    public void movss(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0229((byte) 0x10, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movss     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5958, Serial#: 6265
    public void movss_r6265(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0230((byte) 0x10, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movss     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5959, Serial#: 6274
    public void movss_r6274(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0229((byte) 0x10, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movss     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 5960, Serial#: 6283
    public void movss_r6283(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0230((byte) 0x10, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     xmm0, [rbx + 18]}
     */
    // Template#: 5961, Serial#: 6255
    public void movss(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0231((byte) 0x10, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     xmm0, [rbx + 18]}
     */
    // Template#: 5962, Serial#: 6264
    public void movss_r6264(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0232((byte) 0x10, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     xmm0, [rbx + 18]}
     */
    // Template#: 5963, Serial#: 6273
    public void movss_r6273(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0231((byte) 0x10, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     xmm0, [rbx + 18]}
     */
    // Template#: 5964, Serial#: 6282
    public void movss_r6282(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0232((byte) 0x10, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movss     xmm0, rbx[rsi * 4]}
     */
    // Template#: 5965, Serial#: 6252
    public void movss(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0233((byte) 0x10, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movss     xmm0, rbx[rsi * 4]}
     */
    // Template#: 5966, Serial#: 6261
    public void movss_r6261(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0234((byte) 0x10, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movss     xmm0, rbx[rsi * 4]}
     */
    // Template#: 5967, Serial#: 6270
    public void movss_r6270(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0233((byte) 0x10, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movss     xmm0, rbx[rsi * 4]}
     */
    // Template#: 5968, Serial#: 6279
    public void movss_r6279(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0234((byte) 0x10, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     xmm0, [rbx]}
     */
    // Template#: 5969, Serial#: 6251
    public void movss(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0235((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     xmm0, [rbx]}
     */
    // Template#: 5970, Serial#: 6260
    public void movss_r6260(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0236((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     xmm0, [rbx]}
     */
    // Template#: 5971, Serial#: 6269
    public void movss_r6269(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0235((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     xmm0, [rbx]}
     */
    // Template#: 5972, Serial#: 6278
    public void movss_r6278(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0236((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     xmm0, xmm0}
     */
    // Template#: 5973, Serial#: 6259
    public void movss(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0237((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     xmm0, xmm0}
     */
    // Template#: 5974, Serial#: 6268
    public void movss_r6268(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0238((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     xmm0, xmm0}
     */
    // Template#: 5975, Serial#: 6277
    public void movss_r6277(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0237((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     xmm0, xmm0}
     */
    // Template#: 5976, Serial#: 6286
    public void movss_r6286(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0238((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     xmm0, xmm0}
     */
    // Template#: 5977, Serial#: 6295
    public void movss_r6295(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0903((byte) 0x11, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     xmm0, xmm0}
     */
    // Template#: 5978, Serial#: 6304
    public void movss_r6304(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0904((byte) 0x11, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movss     xmm0, [L1: +305419896]}
     */
    // Template#: 5979, Serial#: 6254
    public void rip_movss(AMD64XMMRegister destination, int rel32) {
        assemble0239((byte) 0x10, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movss     xmm0, [L1: +305419896]}
     */
    // Template#: 5980, Serial#: 6263
    public void rip_movss_r6263(AMD64XMMRegister destination, int rel32) {
        assemble0240((byte) 0x10, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movss     xmm0, [L1: +305419896]}
     */
    // Template#: 5981, Serial#: 6272
    public void rip_movss_r6272(AMD64XMMRegister destination, int rel32) {
        assemble0239((byte) 0x10, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movss     xmm0, [L1: +305419896]}
     */
    // Template#: 5982, Serial#: 6281
    public void rip_movss_r6281(AMD64XMMRegister destination, int rel32) {
        assemble0240((byte) 0x10, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movss     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5983, Serial#: 6258
    public void movss(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0241((byte) 0x10, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movss     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5984, Serial#: 6267
    public void movss_r6267(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0242((byte) 0x10, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movss     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5985, Serial#: 6276
    public void movss_r6276(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0241((byte) 0x10, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movss     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 5986, Serial#: 6285
    public void movss_r6285(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0242((byte) 0x10, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movss     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5987, Serial#: 6253
    public void m_movss(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0243((byte) 0x10, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movss     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5988, Serial#: 6262
    public void m_movss_r6262(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0244((byte) 0x10, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movss     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5989, Serial#: 6271
    public void m_movss_r6271(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0243((byte) 0x10, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movss     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 5990, Serial#: 6280
    public void m_movss_r6280(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0244((byte) 0x10, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     xmm0, [rbx + 305419896]}
     */
    // Template#: 5991, Serial#: 6257
    public void movss(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0245((byte) 0x10, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     xmm0, [rbx + 305419896]}
     */
    // Template#: 5992, Serial#: 6266
    public void movss_r6266(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0246((byte) 0x10, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     xmm0, [rbx + 305419896]}
     */
    // Template#: 5993, Serial#: 6275
    public void movss_r6275(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0245((byte) 0x10, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     xmm0, [rbx + 305419896]}
     */
    // Template#: 5994, Serial#: 6284
    public void movss_r6284(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0246((byte) 0x10, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5995, Serial#: 6294
    public void movss(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0905((byte) 0x11, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 5996, Serial#: 6303
    public void movss_r6303(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0906((byte) 0x11, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5997, Serial#: 6289
    public void m_movss(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0907((byte) 0x11, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     0x12345678[rsi * 4], xmm0}
     */
    // Template#: 5998, Serial#: 6298
    public void m_movss_r6298(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0908((byte) 0x11, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     [rbx + 305419896], xmm0}
     */
    // Template#: 5999, Serial#: 6293
    public void movss(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0909((byte) 0x11, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     [rbx + 305419896], xmm0}
     */
    // Template#: 6000, Serial#: 6302
    public void movss_r6302(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0910((byte) 0x11, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     [L1: +305419896], xmm0}
     */
    // Template#: 6001, Serial#: 6290
    public void rip_movss(int rel32, AMD64XMMRegister source) {
        assemble0911((byte) 0x11, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movss  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movss     [L1: +305419896], xmm0}
     */
    // Template#: 6002, Serial#: 6299
    public void rip_movss_r6299(int rel32, AMD64XMMRegister source) {
        assemble0912((byte) 0x11, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsx  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsx     ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 6003, Serial#: 11702
    public void movsxb(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0247((byte) 0xBE, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsx  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movsx     ax, [rbx + 18]}
     */
    // Template#: 6004, Serial#: 11701
    public void movsxb(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0248((byte) 0xBE, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsx  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsx     ax, rbx[rsi * 4]}
     */
    // Template#: 6005, Serial#: 11698
    public void movsxb(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0249((byte) 0xBE, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsx  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsx     ax, al}
     */
    // Template#: 6006, Serial#: 11705
    public void movsxb(AMD64GeneralRegister16 destination, AMD64GeneralRegister8 source) {
        assemble0976((byte) 0xBE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsx  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsx     ax, [rbx]}
     */
    // Template#: 6007, Serial#: 11697
    public void movsxb(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0251((byte) 0xBE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsx  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movsx     ax, [L1: +305419896]}
     */
    // Template#: 6008, Serial#: 11700
    public void rip_movsxb(AMD64GeneralRegister16 destination, int rel32) {
        assemble0252((byte) 0xBE, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsx  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsx     ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6009, Serial#: 11704
    public void movsxb(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0253((byte) 0xBE, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsx  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsx     ax, 0x12345678[rsi * 4]}
     */
    // Template#: 6010, Serial#: 11699
    public void m_movsxb(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0254((byte) 0xBE, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsx  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movsx     ax, [rbx + 305419896]}
     */
    // Template#: 6011, Serial#: 11703
    public void movsxb(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0255((byte) 0xBE, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsx  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsx     eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 6012, Serial#: 11684
    public void movsxb(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0256((byte) 0xBE, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsx  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movsx     eax, [rbx + 18]}
     */
    // Template#: 6013, Serial#: 11683
    public void movsxb(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0257((byte) 0xBE, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsx  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsx     eax, rbx[rsi * 4]}
     */
    // Template#: 6014, Serial#: 11680
    public void movsxb(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0258((byte) 0xBE, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsx  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsx     eax, al}
     */
    // Template#: 6015, Serial#: 11687
    public void movsxb(AMD64GeneralRegister32 destination, AMD64GeneralRegister8 source) {
        assemble0977((byte) 0xBE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsx  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsx     eax, [rbx]}
     */
    // Template#: 6016, Serial#: 11679
    public void movsxb(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0260((byte) 0xBE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsx  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movsx     eax, [L1: +305419896]}
     */
    // Template#: 6017, Serial#: 11682
    public void rip_movsxb(AMD64GeneralRegister32 destination, int rel32) {
        assemble0261((byte) 0xBE, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsx  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsx     eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6018, Serial#: 11686
    public void movsxb(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0262((byte) 0xBE, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsx  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsx     eax, 0x12345678[rsi * 4]}
     */
    // Template#: 6019, Serial#: 11681
    public void m_movsxb(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0263((byte) 0xBE, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsx  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movsx     eax, [rbx + 305419896]}
     */
    // Template#: 6020, Serial#: 11685
    public void movsxb(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0264((byte) 0xBE, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsx  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsx     rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 6021, Serial#: 11693
    public void movsxb(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0265((byte) 0xBE, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsx  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movsx     rax, [rbx + 18]}
     */
    // Template#: 6022, Serial#: 11692
    public void movsxb(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0266((byte) 0xBE, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsx  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsx     rax, rbx[rsi * 4]}
     */
    // Template#: 6023, Serial#: 11689
    public void movsxb(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0267((byte) 0xBE, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsx  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsx     rax, al}
     */
    // Template#: 6024, Serial#: 11696
    public void movsxb(AMD64GeneralRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0978((byte) 0xBE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsx  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsx     rax, [rbx]}
     */
    // Template#: 6025, Serial#: 11688
    public void movsxb(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0269((byte) 0xBE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsx  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movsx     rax, [L1: +305419896]}
     */
    // Template#: 6026, Serial#: 11691
    public void rip_movsxb(AMD64GeneralRegister64 destination, int rel32) {
        assemble0270((byte) 0xBE, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsx  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsx     rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6027, Serial#: 11695
    public void movsxb(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0271((byte) 0xBE, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsx  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsx     rax, 0x12345678[rsi * 4]}
     */
    // Template#: 6028, Serial#: 11690
    public void m_movsxb(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0272((byte) 0xBE, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsx  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movsx     rax, [rbx + 305419896]}
     */
    // Template#: 6029, Serial#: 11694
    public void movsxb(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0273((byte) 0xBE, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsxd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsxd    rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 6030, Serial#: 464
    public void movsxd(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0065((byte) 0x63, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsxd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movsxd    rax, [rbx + 18]}
     */
    // Template#: 6031, Serial#: 463
    public void movsxd(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0066((byte) 0x63, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsxd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsxd    rax, rbx[rsi * 4]}
     */
    // Template#: 6032, Serial#: 460
    public void movsxd(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0067((byte) 0x63, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsxd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsxd    rax, eax}
     */
    // Template#: 6033, Serial#: 467
    public void movsxd(AMD64GeneralRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0979((byte) 0x63, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsxd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsxd    rax, [rbx]}
     */
    // Template#: 6034, Serial#: 459
    public void movsxd(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0070((byte) 0x63, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsxd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movsxd    rax, [L1: +305419896]}
     */
    // Template#: 6035, Serial#: 462
    public void rip_movsxd(AMD64GeneralRegister64 destination, int rel32) {
        assemble0071((byte) 0x63, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsxd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsxd    rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6036, Serial#: 466
    public void movsxd(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0073((byte) 0x63, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsxd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsxd    rax, 0x12345678[rsi * 4]}
     */
    // Template#: 6037, Serial#: 461
    public void m_movsxd(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0074((byte) 0x63, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsxd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movsxd    rax, [rbx + 305419896]}
     */
    // Template#: 6038, Serial#: 465
    public void movsxd(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0075((byte) 0x63, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsxw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsxw    eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 6039, Serial#: 11711
    public void movsxw(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0256((byte) 0xBF, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsxw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movsxw    eax, [rbx + 18]}
     */
    // Template#: 6040, Serial#: 11710
    public void movsxw(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0257((byte) 0xBF, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsxw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsxw    eax, rbx[rsi * 4]}
     */
    // Template#: 6041, Serial#: 11707
    public void movsxw(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0258((byte) 0xBF, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsxw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsxw    eax, ax}
     */
    // Template#: 6042, Serial#: 11714
    public void movsxw(AMD64GeneralRegister32 destination, AMD64GeneralRegister16 source) {
        assemble0980((byte) 0xBF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsxw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsxw    eax, [rbx]}
     */
    // Template#: 6043, Serial#: 11706
    public void movsxw(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0260((byte) 0xBF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsxw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movsxw    eax, [L1: +305419896]}
     */
    // Template#: 6044, Serial#: 11709
    public void rip_movsxw(AMD64GeneralRegister32 destination, int rel32) {
        assemble0261((byte) 0xBF, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsxw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsxw    eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6045, Serial#: 11713
    public void movsxw(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0262((byte) 0xBF, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsxw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsxw    eax, 0x12345678[rsi * 4]}
     */
    // Template#: 6046, Serial#: 11708
    public void m_movsxw(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0263((byte) 0xBF, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsxw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movsxw    eax, [rbx + 305419896]}
     */
    // Template#: 6047, Serial#: 11712
    public void movsxw(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0264((byte) 0xBF, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsxw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsxw    rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 6048, Serial#: 11720
    public void movsxw(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0265((byte) 0xBF, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsxw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movsxw    rax, [rbx + 18]}
     */
    // Template#: 6049, Serial#: 11719
    public void movsxw(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0266((byte) 0xBF, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsxw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsxw    rax, rbx[rsi * 4]}
     */
    // Template#: 6050, Serial#: 11716
    public void movsxw(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0267((byte) 0xBF, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsxw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsxw    rax, ax}
     */
    // Template#: 6051, Serial#: 11723
    public void movsxw(AMD64GeneralRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0981((byte) 0xBF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsxw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movsxw    rax, [rbx]}
     */
    // Template#: 6052, Serial#: 11715
    public void movsxw(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0269((byte) 0xBF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsxw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movsxw    rax, [L1: +305419896]}
     */
    // Template#: 6053, Serial#: 11718
    public void rip_movsxw(AMD64GeneralRegister64 destination, int rel32) {
        assemble0270((byte) 0xBF, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsxw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsxw    rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6054, Serial#: 11722
    public void movsxw(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0271((byte) 0xBF, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsxw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movsxw    rax, 0x12345678[rsi * 4]}
     */
    // Template#: 6055, Serial#: 11717
    public void m_movsxw(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0272((byte) 0xBF, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movsxw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movsxw    rax, [rbx + 305419896]}
     */
    // Template#: 6056, Serial#: 11721
    public void movsxw(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0273((byte) 0xBF, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movupd    rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 6057, Serial#: 6034
    public void movupd(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0832((byte) 0x11, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movupd    rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 6058, Serial#: 6043
    public void movupd_r6043(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0833((byte) 0x11, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movupd    [rbx + 18], xmm0}
     */
    // Template#: 6059, Serial#: 6033
    public void movupd(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0834((byte) 0x11, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movupd    [rbx + 18], xmm0}
     */
    // Template#: 6060, Serial#: 6042
    public void movupd_r6042(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0835((byte) 0x11, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movupd    rbx[rsi * 4], xmm0}
     */
    // Template#: 6061, Serial#: 6030
    public void movupd(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0836((byte) 0x11, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movupd    rbx[rsi * 4], xmm0}
     */
    // Template#: 6062, Serial#: 6039
    public void movupd_r6039(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0837((byte) 0x11, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movupd    [rbx], xmm0}
     */
    // Template#: 6063, Serial#: 6029
    public void movupd(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0838((byte) 0x11, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movupd    [rbx], xmm0}
     */
    // Template#: 6064, Serial#: 6038
    public void movupd_r6038(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0839((byte) 0x11, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movupd    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6065, Serial#: 6016
    public void movupd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x10, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movupd    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6066, Serial#: 6025
    public void movupd_r6025(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x10, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movupd    xmm0, [rbx + 18]}
     */
    // Template#: 6067, Serial#: 6015
    public void movupd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x10, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movupd    xmm0, [rbx + 18]}
     */
    // Template#: 6068, Serial#: 6024
    public void movupd_r6024(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x10, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movupd    xmm0, rbx[rsi * 4]}
     */
    // Template#: 6069, Serial#: 6012
    public void movupd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x10, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movupd    xmm0, rbx[rsi * 4]}
     */
    // Template#: 6070, Serial#: 6021
    public void movupd_r6021(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x10, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movupd    xmm0, [rbx]}
     */
    // Template#: 6071, Serial#: 6011
    public void movupd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movupd    xmm0, [rbx]}
     */
    // Template#: 6072, Serial#: 6020
    public void movupd_r6020(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movupd    xmm0, xmm0}
     */
    // Template#: 6073, Serial#: 6019
    public void movupd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movupd    xmm0, xmm0}
     */
    // Template#: 6074, Serial#: 6028
    public void movupd_r6028(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movupd    xmm0, xmm0}
     */
    // Template#: 6075, Serial#: 6037
    public void movupd_r6037(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0840((byte) 0x11, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movupd    xmm0, xmm0}
     */
    // Template#: 6076, Serial#: 6046
    public void movupd_r6046(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0841((byte) 0x11, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movupd    xmm0, [L1: +305419896]}
     */
    // Template#: 6077, Serial#: 6014
    public void rip_movupd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x10, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movupd    xmm0, [L1: +305419896]}
     */
    // Template#: 6078, Serial#: 6023
    public void rip_movupd_r6023(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x10, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movupd    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6079, Serial#: 6018
    public void movupd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x10, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movupd    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6080, Serial#: 6027
    public void movupd_r6027(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x10, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movupd    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6081, Serial#: 6013
    public void m_movupd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x10, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movupd    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6082, Serial#: 6022
    public void m_movupd_r6022(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x10, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movupd    xmm0, [rbx + 305419896]}
     */
    // Template#: 6083, Serial#: 6017
    public void movupd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x10, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movupd    xmm0, [rbx + 305419896]}
     */
    // Template#: 6084, Serial#: 6026
    public void movupd_r6026(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x10, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movupd    rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 6085, Serial#: 6036
    public void movupd(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0842((byte) 0x11, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movupd    rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 6086, Serial#: 6045
    public void movupd_r6045(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0843((byte) 0x11, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movupd    0x12345678[rsi * 4], xmm0}
     */
    // Template#: 6087, Serial#: 6031
    public void m_movupd(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0844((byte) 0x11, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movupd    0x12345678[rsi * 4], xmm0}
     */
    // Template#: 6088, Serial#: 6040
    public void m_movupd_r6040(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0845((byte) 0x11, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movupd    [rbx + 305419896], xmm0}
     */
    // Template#: 6089, Serial#: 6035
    public void movupd(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0846((byte) 0x11, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movupd    [rbx + 305419896], xmm0}
     */
    // Template#: 6090, Serial#: 6044
    public void movupd_r6044(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0847((byte) 0x11, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movupd    [L1: +305419896], xmm0}
     */
    // Template#: 6091, Serial#: 6032
    public void rip_movupd(int rel32, AMD64XMMRegister source) {
        assemble0848((byte) 0x11, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movupd  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movupd    [L1: +305419896], xmm0}
     */
    // Template#: 6092, Serial#: 6041
    public void rip_movupd_r6041(int rel32, AMD64XMMRegister source) {
        assemble0849((byte) 0x11, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movups    rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 6093, Serial#: 5908
    public void movups(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0850((byte) 0x11, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movups    rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 6094, Serial#: 5917
    public void movups_r5917(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0851((byte) 0x11, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movups    [rbx + 18], xmm0}
     */
    // Template#: 6095, Serial#: 5907
    public void movups(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0852((byte) 0x11, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movups    [rbx + 18], xmm0}
     */
    // Template#: 6096, Serial#: 5916
    public void movups_r5916(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0853((byte) 0x11, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movups    rbx[rsi * 4], xmm0}
     */
    // Template#: 6097, Serial#: 5904
    public void movups(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0854((byte) 0x11, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movups    rbx[rsi * 4], xmm0}
     */
    // Template#: 6098, Serial#: 5913
    public void movups_r5913(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0855((byte) 0x11, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movups    [rbx], xmm0}
     */
    // Template#: 6099, Serial#: 5903
    public void movups(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0856((byte) 0x11, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movups    [rbx], xmm0}
     */
    // Template#: 6100, Serial#: 5912
    public void movups_r5912(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0857((byte) 0x11, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movups    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6101, Serial#: 5890
    public void movups(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0190((byte) 0x10, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movups    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6102, Serial#: 5899
    public void movups_r5899(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0191((byte) 0x10, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movups    xmm0, [rbx + 18]}
     */
    // Template#: 6103, Serial#: 5889
    public void movups(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0192((byte) 0x10, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movups    xmm0, [rbx + 18]}
     */
    // Template#: 6104, Serial#: 5898
    public void movups_r5898(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0193((byte) 0x10, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movups    xmm0, rbx[rsi * 4]}
     */
    // Template#: 6105, Serial#: 5886
    public void movups(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0194((byte) 0x10, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movups    xmm0, rbx[rsi * 4]}
     */
    // Template#: 6106, Serial#: 5895
    public void movups_r5895(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0195((byte) 0x10, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movups    xmm0, [rbx]}
     */
    // Template#: 6107, Serial#: 5885
    public void movups(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0196((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movups    xmm0, [rbx]}
     */
    // Template#: 6108, Serial#: 5894
    public void movups_r5894(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0197((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movups    xmm0, xmm0}
     */
    // Template#: 6109, Serial#: 5893
    public void movups(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0198((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movups    xmm0, xmm0}
     */
    // Template#: 6110, Serial#: 5902
    public void movups_r5902(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0199((byte) 0x10, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movups    xmm0, xmm0}
     */
    // Template#: 6111, Serial#: 5911
    public void movups_r5911(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0858((byte) 0x11, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movups    xmm0, xmm0}
     */
    // Template#: 6112, Serial#: 5920
    public void movups_r5920(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0859((byte) 0x11, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movups    xmm0, [L1: +305419896]}
     */
    // Template#: 6113, Serial#: 5888
    public void rip_movups(AMD64XMMRegister destination, int rel32) {
        assemble0200((byte) 0x10, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movups    xmm0, [L1: +305419896]}
     */
    // Template#: 6114, Serial#: 5897
    public void rip_movups_r5897(AMD64XMMRegister destination, int rel32) {
        assemble0201((byte) 0x10, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movups    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6115, Serial#: 5892
    public void movups(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0202((byte) 0x10, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movups    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6116, Serial#: 5901
    public void movups_r5901(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0203((byte) 0x10, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movups    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6117, Serial#: 5887
    public void m_movups(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0204((byte) 0x10, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movups    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6118, Serial#: 5896
    public void m_movups_r5896(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0205((byte) 0x10, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movups    xmm0, [rbx + 305419896]}
     */
    // Template#: 6119, Serial#: 5891
    public void movups(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0206((byte) 0x10, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movups    xmm0, [rbx + 305419896]}
     */
    // Template#: 6120, Serial#: 5900
    public void movups_r5900(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0207((byte) 0x10, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movups    rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 6121, Serial#: 5910
    public void movups(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0860((byte) 0x11, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movups    rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 6122, Serial#: 5919
    public void movups_r5919(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0861((byte) 0x11, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movups    0x12345678[rsi * 4], xmm0}
     */
    // Template#: 6123, Serial#: 5905
    public void m_movups(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0862((byte) 0x11, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code movups    0x12345678[rsi * 4], xmm0}
     */
    // Template#: 6124, Serial#: 5914
    public void m_movups_r5914(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0863((byte) 0x11, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movups    [rbx + 305419896], xmm0}
     */
    // Template#: 6125, Serial#: 5909
    public void movups(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0864((byte) 0x11, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movups    [rbx + 305419896], xmm0}
     */
    // Template#: 6126, Serial#: 5918
    public void movups_r5918(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0865((byte) 0x11, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movups    [L1: +305419896], xmm0}
     */
    // Template#: 6127, Serial#: 5906
    public void rip_movups(int rel32, AMD64XMMRegister source) {
        assemble0866((byte) 0x11, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movups  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code movups    [L1: +305419896], xmm0}
     */
    // Template#: 6128, Serial#: 5915
    public void rip_movups_r5915(int rel32, AMD64XMMRegister source) {
        assemble0867((byte) 0x11, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzx  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movzx     ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 6129, Serial#: 7924
    public void movzxb(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0247((byte) 0xB6, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzx  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movzx     ax, [rbx + 18]}
     */
    // Template#: 6130, Serial#: 7923
    public void movzxb(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0248((byte) 0xB6, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzx  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movzx     ax, rbx[rsi * 4]}
     */
    // Template#: 6131, Serial#: 7920
    public void movzxb(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0249((byte) 0xB6, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzx  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movzx     ax, al}
     */
    // Template#: 6132, Serial#: 7927
    public void movzxb(AMD64GeneralRegister16 destination, AMD64GeneralRegister8 source) {
        assemble0976((byte) 0xB6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzx  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movzx     ax, [rbx]}
     */
    // Template#: 6133, Serial#: 7919
    public void movzxb(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0251((byte) 0xB6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzx  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movzx     ax, [L1: +305419896]}
     */
    // Template#: 6134, Serial#: 7922
    public void rip_movzxb(AMD64GeneralRegister16 destination, int rel32) {
        assemble0252((byte) 0xB6, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzx  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movzx     ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6135, Serial#: 7926
    public void movzxb(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0253((byte) 0xB6, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzx  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movzx     ax, 0x12345678[rsi * 4]}
     */
    // Template#: 6136, Serial#: 7921
    public void m_movzxb(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0254((byte) 0xB6, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzx  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movzx     ax, [rbx + 305419896]}
     */
    // Template#: 6137, Serial#: 7925
    public void movzxb(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0255((byte) 0xB6, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzx  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movzx     eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 6138, Serial#: 7906
    public void movzxb(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0256((byte) 0xB6, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzx  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movzx     eax, [rbx + 18]}
     */
    // Template#: 6139, Serial#: 7905
    public void movzxb(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0257((byte) 0xB6, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzx  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movzx     eax, rbx[rsi * 4]}
     */
    // Template#: 6140, Serial#: 7902
    public void movzxb(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0258((byte) 0xB6, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzx  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movzx     eax, al}
     */
    // Template#: 6141, Serial#: 7909
    public void movzxb(AMD64GeneralRegister32 destination, AMD64GeneralRegister8 source) {
        assemble0977((byte) 0xB6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzx  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movzx     eax, [rbx]}
     */
    // Template#: 6142, Serial#: 7901
    public void movzxb(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0260((byte) 0xB6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzx  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movzx     eax, [L1: +305419896]}
     */
    // Template#: 6143, Serial#: 7904
    public void rip_movzxb(AMD64GeneralRegister32 destination, int rel32) {
        assemble0261((byte) 0xB6, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzx  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movzx     eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6144, Serial#: 7908
    public void movzxb(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0262((byte) 0xB6, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzx  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movzx     eax, 0x12345678[rsi * 4]}
     */
    // Template#: 6145, Serial#: 7903
    public void m_movzxb(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0263((byte) 0xB6, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzx  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movzx     eax, [rbx + 305419896]}
     */
    // Template#: 6146, Serial#: 7907
    public void movzxb(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0264((byte) 0xB6, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzx  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movzx     rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 6147, Serial#: 7915
    public void movzxb(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0265((byte) 0xB6, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzx  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movzx     rax, [rbx + 18]}
     */
    // Template#: 6148, Serial#: 7914
    public void movzxb(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0266((byte) 0xB6, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzx  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movzx     rax, rbx[rsi * 4]}
     */
    // Template#: 6149, Serial#: 7911
    public void movzxb(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0267((byte) 0xB6, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzx  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movzx     rax, al}
     */
    // Template#: 6150, Serial#: 7918
    public void movzxb(AMD64GeneralRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0978((byte) 0xB6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzx  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movzx     rax, [rbx]}
     */
    // Template#: 6151, Serial#: 7910
    public void movzxb(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0269((byte) 0xB6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzx  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movzx     rax, [L1: +305419896]}
     */
    // Template#: 6152, Serial#: 7913
    public void rip_movzxb(AMD64GeneralRegister64 destination, int rel32) {
        assemble0270((byte) 0xB6, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzx  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movzx     rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6153, Serial#: 7917
    public void movzxb(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0271((byte) 0xB6, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzx  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movzx     rax, 0x12345678[rsi * 4]}
     */
    // Template#: 6154, Serial#: 7912
    public void m_movzxb(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0272((byte) 0xB6, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzx  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movzx     rax, [rbx + 305419896]}
     */
    // Template#: 6155, Serial#: 7916
    public void movzxb(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0273((byte) 0xB6, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzxd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movzxd    rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 6156, Serial#: 473
    public void movzxd(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0982((byte) 0x63, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzxd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movzxd    rax, [rbx + 18]}
     */
    // Template#: 6157, Serial#: 472
    public void movzxd(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0983((byte) 0x63, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzxd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movzxd    rax, rbx[rsi * 4]}
     */
    // Template#: 6158, Serial#: 469
    public void movzxd(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0984((byte) 0x63, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzxd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movzxd    rax, eax}
     */
    // Template#: 6159, Serial#: 476
    public void movzxd(AMD64GeneralRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0985((byte) 0x63, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzxd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movzxd    rax, [rbx]}
     */
    // Template#: 6160, Serial#: 468
    public void movzxd(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0986((byte) 0x63, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzxd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movzxd    rax, [L1: +305419896]}
     */
    // Template#: 6161, Serial#: 471
    public void rip_movzxd(AMD64GeneralRegister64 destination, int rel32) {
        assemble0987((byte) 0x63, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzxd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movzxd    rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6162, Serial#: 475
    public void movzxd(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0988((byte) 0x63, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzxd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movzxd    rax, 0x12345678[rsi * 4]}
     */
    // Template#: 6163, Serial#: 470
    public void m_movzxd(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0989((byte) 0x63, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzxd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movzxd    rax, [rbx + 305419896]}
     */
    // Template#: 6164, Serial#: 474
    public void movzxd(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0990((byte) 0x63, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzxw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movzxw    eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 6165, Serial#: 7933
    public void movzxw(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0256((byte) 0xB7, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzxw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movzxw    eax, [rbx + 18]}
     */
    // Template#: 6166, Serial#: 7932
    public void movzxw(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0257((byte) 0xB7, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzxw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movzxw    eax, rbx[rsi * 4]}
     */
    // Template#: 6167, Serial#: 7929
    public void movzxw(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0258((byte) 0xB7, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzxw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movzxw    eax, ax}
     */
    // Template#: 6168, Serial#: 7936
    public void movzxw(AMD64GeneralRegister32 destination, AMD64GeneralRegister16 source) {
        assemble0980((byte) 0xB7, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzxw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movzxw    eax, [rbx]}
     */
    // Template#: 6169, Serial#: 7928
    public void movzxw(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0260((byte) 0xB7, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzxw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movzxw    eax, [L1: +305419896]}
     */
    // Template#: 6170, Serial#: 7931
    public void rip_movzxw(AMD64GeneralRegister32 destination, int rel32) {
        assemble0261((byte) 0xB7, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzxw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movzxw    eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6171, Serial#: 7935
    public void movzxw(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0262((byte) 0xB7, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzxw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movzxw    eax, 0x12345678[rsi * 4]}
     */
    // Template#: 6172, Serial#: 7930
    public void m_movzxw(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0263((byte) 0xB7, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzxw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movzxw    eax, [rbx + 305419896]}
     */
    // Template#: 6173, Serial#: 7934
    public void movzxw(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0264((byte) 0xB7, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzxw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movzxw    rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 6174, Serial#: 7942
    public void movzxw(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0265((byte) 0xB7, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzxw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code movzxw    rax, [rbx + 18]}
     */
    // Template#: 6175, Serial#: 7941
    public void movzxw(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0266((byte) 0xB7, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzxw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movzxw    rax, rbx[rsi * 4]}
     */
    // Template#: 6176, Serial#: 7938
    public void movzxw(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0267((byte) 0xB7, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzxw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movzxw    rax, ax}
     */
    // Template#: 6177, Serial#: 7945
    public void movzxw(AMD64GeneralRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0981((byte) 0xB7, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzxw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code movzxw    rax, [rbx]}
     */
    // Template#: 6178, Serial#: 7937
    public void movzxw(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0269((byte) 0xB7, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzxw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code movzxw    rax, [L1: +305419896]}
     */
    // Template#: 6179, Serial#: 7940
    public void rip_movzxw(AMD64GeneralRegister64 destination, int rel32) {
        assemble0270((byte) 0xB7, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzxw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movzxw    rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6180, Serial#: 7944
    public void movzxw(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0271((byte) 0xB7, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzxw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code movzxw    rax, 0x12345678[rsi * 4]}
     */
    // Template#: 6181, Serial#: 7939
    public void m_movzxw(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0272((byte) 0xB7, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code movzxw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code movzxw    rax, [rbx + 305419896]}
     */
    // Template#: 6182, Serial#: 7943
    public void movzxw(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0273((byte) 0xB7, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulb      rbx[rsi * 4 + 18], al}
     */
    // Template#: 6183, Serial#: 2722
    public void mulb___AL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xF6, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulb      rbx[rsi * 4 + 18], al}
     */
    // Template#: 6184, Serial#: 2794
    public void mulb___AL_r2794(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xF6, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulb      rbx[rsi * 4 + 18], al}
     */
    // Template#: 6185, Serial#: 2866
    public void mulb___AL_r2866(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xF6, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mull  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mull      rbx[rsi * 4 + 18]}
     */
    // Template#: 6186, Serial#: 2938
    public void mull(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xF7, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulq      rbx[rsi * 4 + 18]}
     */
    // Template#: 6187, Serial#: 3010
    public void mulq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xF7, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulw      rbx[rsi * 4 + 18]}
     */
    // Template#: 6188, Serial#: 3082
    public void mulw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xF7, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code mulb      [rbx + 18], al}
     */
    // Template#: 6189, Serial#: 2721
    public void mulb___AL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xF6, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code mulb      [rbx + 18], al}
     */
    // Template#: 6190, Serial#: 2793
    public void mulb___AL_r2793(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xF6, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code mulb      [rbx + 18], al}
     */
    // Template#: 6191, Serial#: 2865
    public void mulb___AL_r2865(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xF6, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code mull  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code mull      [rbx + 18]}
     */
    // Template#: 6192, Serial#: 2937
    public void mull(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xF7, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code mulq      [rbx + 18]}
     */
    // Template#: 6193, Serial#: 3009
    public void mulq(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xF7, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code mulw      [rbx + 18]}
     */
    // Template#: 6194, Serial#: 3081
    public void mulw(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xF7, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulb      rbx[rsi * 4], al}
     */
    // Template#: 6195, Serial#: 2698
    public void mulb___AL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xF6, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulb      rbx[rsi * 4], al}
     */
    // Template#: 6196, Serial#: 2770
    public void mulb___AL_r2770(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xF6, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulb      rbx[rsi * 4], al}
     */
    // Template#: 6197, Serial#: 2842
    public void mulb___AL_r2842(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xF6, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mull  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mull      rbx[rsi * 4]}
     */
    // Template#: 6198, Serial#: 2914
    public void mull(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xF7, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulq      rbx[rsi * 4]}
     */
    // Template#: 6199, Serial#: 2986
    public void mulq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xF7, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulw      rbx[rsi * 4]}
     */
    // Template#: 6200, Serial#: 3058
    public void mulw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xF7, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulw  }<i>destination</i>
     * Example disassembly syntax: {@code mulw      ax}
     */
    // Template#: 6201, Serial#: 3109
    public void mulw(AMD64GeneralRegister16 destination) {
        assemble0336((byte) 0xF7, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code mull  }<i>destination</i>
     * Example disassembly syntax: {@code mull      eax}
     */
    // Template#: 6202, Serial#: 2965
    public void mull(AMD64GeneralRegister32 destination) {
        assemble0576((byte) 0xF7, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulq  }<i>destination</i>
     * Example disassembly syntax: {@code mulq      rax}
     */
    // Template#: 6203, Serial#: 3037
    public void mulq(AMD64GeneralRegister64 destination) {
        assemble0577((byte) 0xF7, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulb  }<i>destination</i>
     * Example disassembly syntax: {@code mulb      al, al}
     */
    // Template#: 6204, Serial#: 2749
    public void mulb___AL(AMD64GeneralRegister8 destination) {
        assemble0578((byte) 0xF6, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulb  }<i>destination</i>
     * Example disassembly syntax: {@code mulb      al, al}
     */
    // Template#: 6205, Serial#: 2821
    public void mulb___AL_r2821(AMD64GeneralRegister8 destination) {
        assemble0579((byte) 0xF6, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulb  }<i>destination</i>
     * Example disassembly syntax: {@code mulb      al, al}
     */
    // Template#: 6206, Serial#: 2893
    public void mulb___AL_r2893(AMD64GeneralRegister8 destination) {
        assemble0580((byte) 0xF6, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulb  }<i>destination</i>
     * Example disassembly syntax: {@code mulb      [rbx], al}
     */
    // Template#: 6207, Serial#: 2697
    public void mulb___AL(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xF6, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulb  }<i>destination</i>
     * Example disassembly syntax: {@code mulb      [rbx], al}
     */
    // Template#: 6208, Serial#: 2769
    public void mulb___AL_r2769(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xF6, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulb  }<i>destination</i>
     * Example disassembly syntax: {@code mulb      [rbx], al}
     */
    // Template#: 6209, Serial#: 2841
    public void mulb___AL_r2841(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xF6, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code mull  }<i>destination</i>
     * Example disassembly syntax: {@code mull      [rbx]}
     */
    // Template#: 6210, Serial#: 2913
    public void mull(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xF7, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulq  }<i>destination</i>
     * Example disassembly syntax: {@code mulq      [rbx]}
     */
    // Template#: 6211, Serial#: 2985
    public void mulq(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xF7, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulw  }<i>destination</i>
     * Example disassembly syntax: {@code mulw      [rbx]}
     */
    // Template#: 6212, Serial#: 3057
    public void mulw(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xF7, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulb  }<i>rel32</i>
     * Example disassembly syntax: {@code mulb      [L1: +305419896], al}
     */
    // Template#: 6213, Serial#: 2700
    public void rip_mulb___AL(int rel32) {
        assemble0341((byte) 0xF6, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulb  }<i>rel32</i>
     * Example disassembly syntax: {@code mulb      [L1: +305419896], al}
     */
    // Template#: 6214, Serial#: 2772
    public void rip_mulb___AL_r2772(int rel32) {
        assemble0582((byte) 0xF6, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulb  }<i>rel32</i>
     * Example disassembly syntax: {@code mulb      [L1: +305419896], al}
     */
    // Template#: 6215, Serial#: 2844
    public void rip_mulb___AL_r2844(int rel32) {
        assemble0342((byte) 0xF6, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code mull  }<i>rel32</i>
     * Example disassembly syntax: {@code mull      [L1: +305419896]}
     */
    // Template#: 6216, Serial#: 2916
    public void rip_mull(int rel32) {
        assemble0341((byte) 0xF7, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulq  }<i>rel32</i>
     * Example disassembly syntax: {@code mulq      [L1: +305419896]}
     */
    // Template#: 6217, Serial#: 2988
    public void rip_mulq(int rel32) {
        assemble0582((byte) 0xF7, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulw  }<i>rel32</i>
     * Example disassembly syntax: {@code mulw      [L1: +305419896]}
     */
    // Template#: 6218, Serial#: 3060
    public void rip_mulw(int rel32) {
        assemble0342((byte) 0xF7, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulb      rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 6219, Serial#: 2738
    public void mulb___AL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xF6, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulb      rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 6220, Serial#: 2810
    public void mulb___AL_r2810(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xF6, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulb      rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 6221, Serial#: 2882
    public void mulb___AL_r2882(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xF6, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mull  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mull      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6222, Serial#: 2954
    public void mull(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xF7, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulq      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6223, Serial#: 3026
    public void mulq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xF7, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulw      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6224, Serial#: 3098
    public void mulw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xF7, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulb      0x12345678[rsi * 4], al}
     */
    // Template#: 6225, Serial#: 2699
    public void m_mulb___AL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xF6, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulb      0x12345678[rsi * 4], al}
     */
    // Template#: 6226, Serial#: 2771
    public void m_mulb___AL_r2771(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xF6, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulb      0x12345678[rsi * 4], al}
     */
    // Template#: 6227, Serial#: 2843
    public void m_mulb___AL_r2843(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xF6, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mull  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mull      0x12345678[rsi * 4]}
     */
    // Template#: 6228, Serial#: 2915
    public void m_mull(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xF7, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulq      0x12345678[rsi * 4]}
     */
    // Template#: 6229, Serial#: 2987
    public void m_mulq(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xF7, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulw      0x12345678[rsi * 4]}
     */
    // Template#: 6230, Serial#: 3059
    public void m_mulw(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xF7, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code mulb      [rbx + 305419896], al}
     */
    // Template#: 6231, Serial#: 2737
    public void mulb___AL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xF6, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code mulb      [rbx + 305419896], al}
     */
    // Template#: 6232, Serial#: 2809
    public void mulb___AL_r2809(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xF6, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code mulb      [rbx + 305419896], al}
     */
    // Template#: 6233, Serial#: 2881
    public void mulb___AL_r2881(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xF6, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code mull  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code mull      [rbx + 305419896]}
     */
    // Template#: 6234, Serial#: 2953
    public void mull(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xF7, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code mulq      [rbx + 305419896]}
     */
    // Template#: 6235, Serial#: 3025
    public void mulq(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xF7, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code mulw      [rbx + 305419896]}
     */
    // Template#: 6236, Serial#: 3097
    public void mulw(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xF7, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulpd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6237, Serial#: 10127
    public void mulpd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x59, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulpd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6238, Serial#: 10136
    public void mulpd_r10136(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x59, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code mulpd     xmm0, [rbx + 18]}
     */
    // Template#: 6239, Serial#: 10126
    public void mulpd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x59, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code mulpd     xmm0, [rbx + 18]}
     */
    // Template#: 6240, Serial#: 10135
    public void mulpd_r10135(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x59, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulpd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 6241, Serial#: 10123
    public void mulpd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x59, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulpd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 6242, Serial#: 10132
    public void mulpd_r10132(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x59, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mulpd     xmm0, [rbx]}
     */
    // Template#: 6243, Serial#: 10122
    public void mulpd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x59, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mulpd     xmm0, [rbx]}
     */
    // Template#: 6244, Serial#: 10131
    public void mulpd_r10131(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x59, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mulpd     xmm0, xmm0}
     */
    // Template#: 6245, Serial#: 10130
    public void mulpd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x59, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mulpd     xmm0, xmm0}
     */
    // Template#: 6246, Serial#: 10139
    public void mulpd_r10139(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x59, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code mulpd     xmm0, [L1: +305419896]}
     */
    // Template#: 6247, Serial#: 10125
    public void rip_mulpd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x59, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code mulpd     xmm0, [L1: +305419896]}
     */
    // Template#: 6248, Serial#: 10134
    public void rip_mulpd_r10134(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x59, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulpd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6249, Serial#: 10129
    public void mulpd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x59, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulpd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6250, Serial#: 10138
    public void mulpd_r10138(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x59, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulpd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6251, Serial#: 10124
    public void m_mulpd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x59, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulpd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6252, Serial#: 10133
    public void m_mulpd_r10133(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x59, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code mulpd     xmm0, [rbx + 305419896]}
     */
    // Template#: 6253, Serial#: 10128
    public void mulpd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x59, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code mulpd     xmm0, [rbx + 305419896]}
     */
    // Template#: 6254, Serial#: 10137
    public void mulpd_r10137(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x59, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulps     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6255, Serial#: 9983
    public void mulps(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0190((byte) 0x59, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulps     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6256, Serial#: 9992
    public void mulps_r9992(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0191((byte) 0x59, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code mulps     xmm0, [rbx + 18]}
     */
    // Template#: 6257, Serial#: 9982
    public void mulps(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0192((byte) 0x59, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code mulps     xmm0, [rbx + 18]}
     */
    // Template#: 6258, Serial#: 9991
    public void mulps_r9991(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0193((byte) 0x59, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulps     xmm0, rbx[rsi * 4]}
     */
    // Template#: 6259, Serial#: 9979
    public void mulps(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0194((byte) 0x59, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulps     xmm0, rbx[rsi * 4]}
     */
    // Template#: 6260, Serial#: 9988
    public void mulps_r9988(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0195((byte) 0x59, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mulps     xmm0, [rbx]}
     */
    // Template#: 6261, Serial#: 9978
    public void mulps(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0196((byte) 0x59, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mulps     xmm0, [rbx]}
     */
    // Template#: 6262, Serial#: 9987
    public void mulps_r9987(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0197((byte) 0x59, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mulps     xmm0, xmm0}
     */
    // Template#: 6263, Serial#: 9986
    public void mulps(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0198((byte) 0x59, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mulps     xmm0, xmm0}
     */
    // Template#: 6264, Serial#: 9995
    public void mulps_r9995(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0199((byte) 0x59, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code mulps     xmm0, [L1: +305419896]}
     */
    // Template#: 6265, Serial#: 9981
    public void rip_mulps(AMD64XMMRegister destination, int rel32) {
        assemble0200((byte) 0x59, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code mulps     xmm0, [L1: +305419896]}
     */
    // Template#: 6266, Serial#: 9990
    public void rip_mulps_r9990(AMD64XMMRegister destination, int rel32) {
        assemble0201((byte) 0x59, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulps     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6267, Serial#: 9985
    public void mulps(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0202((byte) 0x59, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulps     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6268, Serial#: 9994
    public void mulps_r9994(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0203((byte) 0x59, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulps     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6269, Serial#: 9980
    public void m_mulps(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0204((byte) 0x59, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulps     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6270, Serial#: 9989
    public void m_mulps_r9989(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0205((byte) 0x59, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code mulps     xmm0, [rbx + 305419896]}
     */
    // Template#: 6271, Serial#: 9984
    public void mulps(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0206((byte) 0x59, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code mulps     xmm0, [rbx + 305419896]}
     */
    // Template#: 6272, Serial#: 9993
    public void mulps_r9993(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0207((byte) 0x59, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulsd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulsd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6273, Serial#: 10271
    public void mulsd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0211((byte) 0x59, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulsd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulsd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6274, Serial#: 10280
    public void mulsd_r10280(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0212((byte) 0x59, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulsd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code mulsd     xmm0, [rbx + 18]}
     */
    // Template#: 6275, Serial#: 10270
    public void mulsd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0213((byte) 0x59, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulsd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code mulsd     xmm0, [rbx + 18]}
     */
    // Template#: 6276, Serial#: 10279
    public void mulsd_r10279(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0214((byte) 0x59, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulsd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulsd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 6277, Serial#: 10267
    public void mulsd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0215((byte) 0x59, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulsd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulsd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 6278, Serial#: 10276
    public void mulsd_r10276(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0216((byte) 0x59, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mulsd     xmm0, [rbx]}
     */
    // Template#: 6279, Serial#: 10266
    public void mulsd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0217((byte) 0x59, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mulsd     xmm0, [rbx]}
     */
    // Template#: 6280, Serial#: 10275
    public void mulsd_r10275(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0218((byte) 0x59, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mulsd     xmm0, xmm0}
     */
    // Template#: 6281, Serial#: 10274
    public void mulsd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0219((byte) 0x59, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mulsd     xmm0, xmm0}
     */
    // Template#: 6282, Serial#: 10283
    public void mulsd_r10283(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0220((byte) 0x59, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulsd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code mulsd     xmm0, [L1: +305419896]}
     */
    // Template#: 6283, Serial#: 10269
    public void rip_mulsd(AMD64XMMRegister destination, int rel32) {
        assemble0221((byte) 0x59, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulsd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code mulsd     xmm0, [L1: +305419896]}
     */
    // Template#: 6284, Serial#: 10278
    public void rip_mulsd_r10278(AMD64XMMRegister destination, int rel32) {
        assemble0222((byte) 0x59, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulsd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulsd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6285, Serial#: 10273
    public void mulsd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0223((byte) 0x59, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulsd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulsd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6286, Serial#: 10282
    public void mulsd_r10282(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0224((byte) 0x59, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulsd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulsd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6287, Serial#: 10268
    public void m_mulsd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0225((byte) 0x59, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulsd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulsd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6288, Serial#: 10277
    public void m_mulsd_r10277(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0226((byte) 0x59, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulsd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code mulsd     xmm0, [rbx + 305419896]}
     */
    // Template#: 6289, Serial#: 10272
    public void mulsd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0227((byte) 0x59, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulsd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code mulsd     xmm0, [rbx + 305419896]}
     */
    // Template#: 6290, Serial#: 10281
    public void mulsd_r10281(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0228((byte) 0x59, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulss     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6291, Serial#: 10397
    public void mulss(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0229((byte) 0x59, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulss     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6292, Serial#: 10406
    public void mulss_r10406(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0230((byte) 0x59, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulss  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code mulss     xmm0, [rbx + 18]}
     */
    // Template#: 6293, Serial#: 10396
    public void mulss(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0231((byte) 0x59, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulss  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code mulss     xmm0, [rbx + 18]}
     */
    // Template#: 6294, Serial#: 10405
    public void mulss_r10405(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0232((byte) 0x59, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulss     xmm0, rbx[rsi * 4]}
     */
    // Template#: 6295, Serial#: 10393
    public void mulss(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0233((byte) 0x59, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulss     xmm0, rbx[rsi * 4]}
     */
    // Template#: 6296, Serial#: 10402
    public void mulss_r10402(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0234((byte) 0x59, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mulss     xmm0, [rbx]}
     */
    // Template#: 6297, Serial#: 10392
    public void mulss(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0235((byte) 0x59, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mulss     xmm0, [rbx]}
     */
    // Template#: 6298, Serial#: 10401
    public void mulss_r10401(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0236((byte) 0x59, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mulss     xmm0, xmm0}
     */
    // Template#: 6299, Serial#: 10400
    public void mulss(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0237((byte) 0x59, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mulss     xmm0, xmm0}
     */
    // Template#: 6300, Serial#: 10409
    public void mulss_r10409(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0238((byte) 0x59, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulss  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code mulss     xmm0, [L1: +305419896]}
     */
    // Template#: 6301, Serial#: 10395
    public void rip_mulss(AMD64XMMRegister destination, int rel32) {
        assemble0239((byte) 0x59, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulss  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code mulss     xmm0, [L1: +305419896]}
     */
    // Template#: 6302, Serial#: 10404
    public void rip_mulss_r10404(AMD64XMMRegister destination, int rel32) {
        assemble0240((byte) 0x59, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulss     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6303, Serial#: 10399
    public void mulss(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0241((byte) 0x59, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulss     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6304, Serial#: 10408
    public void mulss_r10408(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0242((byte) 0x59, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulss     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6305, Serial#: 10394
    public void m_mulss(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0243((byte) 0x59, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code mulss     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6306, Serial#: 10403
    public void m_mulss_r10403(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0244((byte) 0x59, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulss  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code mulss     xmm0, [rbx + 305419896]}
     */
    // Template#: 6307, Serial#: 10398
    public void mulss(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0245((byte) 0x59, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mulss  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code mulss     xmm0, [rbx + 305419896]}
     */
    // Template#: 6308, Serial#: 10407
    public void mulss_r10407(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0246((byte) 0x59, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mvntdq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mvntdq    rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 6309, Serial#: 8762
    public void mvntdq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0832((byte) 0xE7, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mvntdq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mvntdq    rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 6310, Serial#: 8770
    public void mvntdq_r8770(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0833((byte) 0xE7, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mvntdq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mvntdq    rbx[rsi * 4 + 18], xmm0}
     */
    // Template#: 6311, Serial#: 8778
    public void mvntdq_r8778(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0914((byte) 0xE7, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mvntdq  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mvntdq    [rbx + 18], xmm0}
     */
    // Template#: 6312, Serial#: 8761
    public void mvntdq(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0834((byte) 0xE7, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mvntdq  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mvntdq    [rbx + 18], xmm0}
     */
    // Template#: 6313, Serial#: 8769
    public void mvntdq_r8769(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0835((byte) 0xE7, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mvntdq  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mvntdq    [rbx + 18], xmm0}
     */
    // Template#: 6314, Serial#: 8777
    public void mvntdq_r8777(byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0915((byte) 0xE7, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mvntdq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mvntdq    rbx[rsi * 4], xmm0}
     */
    // Template#: 6315, Serial#: 8758
    public void mvntdq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0836((byte) 0xE7, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mvntdq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mvntdq    rbx[rsi * 4], xmm0}
     */
    // Template#: 6316, Serial#: 8766
    public void mvntdq_r8766(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0837((byte) 0xE7, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mvntdq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mvntdq    rbx[rsi * 4], xmm0}
     */
    // Template#: 6317, Serial#: 8774
    public void mvntdq_r8774(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0916((byte) 0xE7, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mvntdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mvntdq    [rbx], xmm0}
     */
    // Template#: 6318, Serial#: 8757
    public void mvntdq(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0838((byte) 0xE7, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mvntdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mvntdq    [rbx], xmm0}
     */
    // Template#: 6319, Serial#: 8765
    public void mvntdq_r8765(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0839((byte) 0xE7, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mvntdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mvntdq    [rbx], xmm0}
     */
    // Template#: 6320, Serial#: 8773
    public void mvntdq_r8773(AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0917((byte) 0xE7, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mvntdq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mvntdq    rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 6321, Serial#: 8764
    public void mvntdq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0842((byte) 0xE7, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mvntdq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mvntdq    rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 6322, Serial#: 8772
    public void mvntdq_r8772(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0843((byte) 0xE7, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mvntdq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mvntdq    rbx[rsi * 4 + 305419896], xmm0}
     */
    // Template#: 6323, Serial#: 8780
    public void mvntdq_r8780(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0918((byte) 0xE7, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mvntdq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mvntdq    0x12345678[rsi * 4], xmm0}
     */
    // Template#: 6324, Serial#: 8759
    public void m_mvntdq(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0844((byte) 0xE7, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mvntdq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mvntdq    0x12345678[rsi * 4], xmm0}
     */
    // Template#: 6325, Serial#: 8767
    public void m_mvntdq_r8767(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0845((byte) 0xE7, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mvntdq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code mvntdq    0x12345678[rsi * 4], xmm0}
     */
    // Template#: 6326, Serial#: 8775
    public void m_mvntdq_r8775(int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        assemble0919((byte) 0xE7, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mvntdq  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mvntdq    [rbx + 305419896], xmm0}
     */
    // Template#: 6327, Serial#: 8763
    public void mvntdq(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0846((byte) 0xE7, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mvntdq  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mvntdq    [rbx + 305419896], xmm0}
     */
    // Template#: 6328, Serial#: 8771
    public void mvntdq_r8771(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0847((byte) 0xE7, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mvntdq  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code mvntdq    [rbx + 305419896], xmm0}
     */
    // Template#: 6329, Serial#: 8779
    public void mvntdq_r8779(int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        assemble0920((byte) 0xE7, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mvntdq  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code mvntdq    [L1: +305419896], xmm0}
     */
    // Template#: 6330, Serial#: 8760
    public void rip_mvntdq(int rel32, AMD64XMMRegister source) {
        assemble0848((byte) 0xE7, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mvntdq  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code mvntdq    [L1: +305419896], xmm0}
     */
    // Template#: 6331, Serial#: 8768
    public void rip_mvntdq_r8768(int rel32, AMD64XMMRegister source) {
        assemble0849((byte) 0xE7, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code mvntdq  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code mvntdq    [L1: +305419896], xmm0}
     */
    // Template#: 6332, Serial#: 8776
    public void rip_mvntdq_r8776(int rel32, AMD64XMMRegister source) {
        assemble0921((byte) 0xE7, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code negb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code negb      rbx[rsi * 4 + 18]}
     */
    // Template#: 6333, Serial#: 2720
    public void negb(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xF6, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code negb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code negb      rbx[rsi * 4 + 18]}
     */
    // Template#: 6334, Serial#: 2792
    public void negb_r2792(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xF6, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code negb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code negb      rbx[rsi * 4 + 18]}
     */
    // Template#: 6335, Serial#: 2864
    public void negb_r2864(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xF6, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code negl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code negl      rbx[rsi * 4 + 18]}
     */
    // Template#: 6336, Serial#: 2936
    public void negl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xF7, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code negq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code negq      rbx[rsi * 4 + 18]}
     */
    // Template#: 6337, Serial#: 3008
    public void negq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xF7, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code negw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code negw      rbx[rsi * 4 + 18]}
     */
    // Template#: 6338, Serial#: 3080
    public void negw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xF7, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code negb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code negb      [rbx + 18]}
     */
    // Template#: 6339, Serial#: 2719
    public void negb(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xF6, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code negb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code negb      [rbx + 18]}
     */
    // Template#: 6340, Serial#: 2791
    public void negb_r2791(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xF6, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code negb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code negb      [rbx + 18]}
     */
    // Template#: 6341, Serial#: 2863
    public void negb_r2863(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xF6, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code negl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code negl      [rbx + 18]}
     */
    // Template#: 6342, Serial#: 2935
    public void negl(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xF7, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code negq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code negq      [rbx + 18]}
     */
    // Template#: 6343, Serial#: 3007
    public void negq(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xF7, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code negw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code negw      [rbx + 18]}
     */
    // Template#: 6344, Serial#: 3079
    public void negw(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xF7, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code negb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code negb      rbx[rsi * 4]}
     */
    // Template#: 6345, Serial#: 2694
    public void negb(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xF6, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code negb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code negb      rbx[rsi * 4]}
     */
    // Template#: 6346, Serial#: 2766
    public void negb_r2766(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xF6, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code negb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code negb      rbx[rsi * 4]}
     */
    // Template#: 6347, Serial#: 2838
    public void negb_r2838(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xF6, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code negl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code negl      rbx[rsi * 4]}
     */
    // Template#: 6348, Serial#: 2910
    public void negl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xF7, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code negq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code negq      rbx[rsi * 4]}
     */
    // Template#: 6349, Serial#: 2982
    public void negq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xF7, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code negw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code negw      rbx[rsi * 4]}
     */
    // Template#: 6350, Serial#: 3054
    public void negw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xF7, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code negw  }<i>destination</i>
     * Example disassembly syntax: {@code negw      ax}
     */
    // Template#: 6351, Serial#: 3108
    public void negw(AMD64GeneralRegister16 destination) {
        assemble0336((byte) 0xF7, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code negl  }<i>destination</i>
     * Example disassembly syntax: {@code negl      eax}
     */
    // Template#: 6352, Serial#: 2964
    public void negl(AMD64GeneralRegister32 destination) {
        assemble0576((byte) 0xF7, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code negq  }<i>destination</i>
     * Example disassembly syntax: {@code negq      rax}
     */
    // Template#: 6353, Serial#: 3036
    public void negq(AMD64GeneralRegister64 destination) {
        assemble0577((byte) 0xF7, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code negb  }<i>destination</i>
     * Example disassembly syntax: {@code negb      al}
     */
    // Template#: 6354, Serial#: 2748
    public void negb(AMD64GeneralRegister8 destination) {
        assemble0578((byte) 0xF6, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code negb  }<i>destination</i>
     * Example disassembly syntax: {@code negb      al}
     */
    // Template#: 6355, Serial#: 2820
    public void negb_r2820(AMD64GeneralRegister8 destination) {
        assemble0579((byte) 0xF6, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code negb  }<i>destination</i>
     * Example disassembly syntax: {@code negb      al}
     */
    // Template#: 6356, Serial#: 2892
    public void negb_r2892(AMD64GeneralRegister8 destination) {
        assemble0580((byte) 0xF6, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code negb  }<i>destination</i>
     * Example disassembly syntax: {@code negb      [rbx]}
     */
    // Template#: 6357, Serial#: 2693
    public void negb(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xF6, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code negb  }<i>destination</i>
     * Example disassembly syntax: {@code negb      [rbx]}
     */
    // Template#: 6358, Serial#: 2765
    public void negb_r2765(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xF6, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code negb  }<i>destination</i>
     * Example disassembly syntax: {@code negb      [rbx]}
     */
    // Template#: 6359, Serial#: 2837
    public void negb_r2837(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xF6, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code negl  }<i>destination</i>
     * Example disassembly syntax: {@code negl      [rbx]}
     */
    // Template#: 6360, Serial#: 2909
    public void negl(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xF7, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code negq  }<i>destination</i>
     * Example disassembly syntax: {@code negq      [rbx]}
     */
    // Template#: 6361, Serial#: 2981
    public void negq(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xF7, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code negw  }<i>destination</i>
     * Example disassembly syntax: {@code negw      [rbx]}
     */
    // Template#: 6362, Serial#: 3053
    public void negw(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xF7, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code negb  }<i>rel32</i>
     * Example disassembly syntax: {@code negb      [L1: +305419896]}
     */
    // Template#: 6363, Serial#: 2696
    public void rip_negb(int rel32) {
        assemble0341((byte) 0xF6, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code negb  }<i>rel32</i>
     * Example disassembly syntax: {@code negb      [L1: +305419896]}
     */
    // Template#: 6364, Serial#: 2768
    public void rip_negb_r2768(int rel32) {
        assemble0582((byte) 0xF6, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code negb  }<i>rel32</i>
     * Example disassembly syntax: {@code negb      [L1: +305419896]}
     */
    // Template#: 6365, Serial#: 2840
    public void rip_negb_r2840(int rel32) {
        assemble0342((byte) 0xF6, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code negl  }<i>rel32</i>
     * Example disassembly syntax: {@code negl      [L1: +305419896]}
     */
    // Template#: 6366, Serial#: 2912
    public void rip_negl(int rel32) {
        assemble0341((byte) 0xF7, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code negq  }<i>rel32</i>
     * Example disassembly syntax: {@code negq      [L1: +305419896]}
     */
    // Template#: 6367, Serial#: 2984
    public void rip_negq(int rel32) {
        assemble0582((byte) 0xF7, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code negw  }<i>rel32</i>
     * Example disassembly syntax: {@code negw      [L1: +305419896]}
     */
    // Template#: 6368, Serial#: 3056
    public void rip_negw(int rel32) {
        assemble0342((byte) 0xF7, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code negb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code negb      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6369, Serial#: 2736
    public void negb(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xF6, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code negb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code negb      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6370, Serial#: 2808
    public void negb_r2808(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xF6, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code negb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code negb      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6371, Serial#: 2880
    public void negb_r2880(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xF6, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code negl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code negl      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6372, Serial#: 2952
    public void negl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xF7, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code negq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code negq      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6373, Serial#: 3024
    public void negq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xF7, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code negw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code negw      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6374, Serial#: 3096
    public void negw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xF7, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code negb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code negb      0x12345678[rsi * 4]}
     */
    // Template#: 6375, Serial#: 2695
    public void m_negb(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xF6, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code negb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code negb      0x12345678[rsi * 4]}
     */
    // Template#: 6376, Serial#: 2767
    public void m_negb_r2767(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xF6, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code negb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code negb      0x12345678[rsi * 4]}
     */
    // Template#: 6377, Serial#: 2839
    public void m_negb_r2839(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xF6, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code negl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code negl      0x12345678[rsi * 4]}
     */
    // Template#: 6378, Serial#: 2911
    public void m_negl(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xF7, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code negq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code negq      0x12345678[rsi * 4]}
     */
    // Template#: 6379, Serial#: 2983
    public void m_negq(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xF7, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code negw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code negw      0x12345678[rsi * 4]}
     */
    // Template#: 6380, Serial#: 3055
    public void m_negw(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xF7, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code negb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code negb      [rbx + 305419896]}
     */
    // Template#: 6381, Serial#: 2735
    public void negb(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xF6, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code negb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code negb      [rbx + 305419896]}
     */
    // Template#: 6382, Serial#: 2807
    public void negb_r2807(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xF6, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code negb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code negb      [rbx + 305419896]}
     */
    // Template#: 6383, Serial#: 2879
    public void negb_r2879(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xF6, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code negl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code negl      [rbx + 305419896]}
     */
    // Template#: 6384, Serial#: 2951
    public void negl(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xF7, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code negq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code negq      [rbx + 305419896]}
     */
    // Template#: 6385, Serial#: 3023
    public void negq(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xF7, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code negw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code negw      [rbx + 305419896]}
     */
    // Template#: 6386, Serial#: 3095
    public void negw(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xF7, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code nop  }
     * Example disassembly syntax: {@code nop     }
     */
    // Template#: 6387, Serial#: 1253
    public void nop() {
        assemble0208((byte) 0x90);
    }

    /**
     * Pseudo-external assembler syntax: {@code nop  }
     * Example disassembly syntax: {@code nop     }
     */
    // Template#: 6388, Serial#: 1254
    public void nop_r1254() {
        assemble0209((byte) 0x90);
    }

    /**
     * Pseudo-external assembler syntax: {@code nop  }
     * Example disassembly syntax: {@code nop     }
     */
    // Template#: 6389, Serial#: 1255
    public void nop_r1255() {
        assemble0210((byte) 0x90);
    }

    /**
     * Pseudo-external assembler syntax: {@code nop  }
     * Example disassembly syntax: {@code nop     }
     */
    // Template#: 6390, Serial#: 9297
    public void nop_r9297() {
        assemble0373((byte) 0x19);
    }

    /**
     * Pseudo-external assembler syntax: {@code nop  }
     * Example disassembly syntax: {@code nop     }
     */
    // Template#: 6391, Serial#: 9298
    public void nop_r9298() {
        assemble0374((byte) 0x19);
    }

    /**
     * Pseudo-external assembler syntax: {@code nop  }
     * Example disassembly syntax: {@code nop     }
     */
    // Template#: 6392, Serial#: 9299
    public void nop_r9299() {
        assemble0375((byte) 0x19);
    }

    /**
     * Pseudo-external assembler syntax: {@code nop  }
     * Example disassembly syntax: {@code nop     }
     */
    // Template#: 6393, Serial#: 9300
    public void nop_r9300() {
        assemble0373((byte) 0x1A);
    }

    /**
     * Pseudo-external assembler syntax: {@code nop  }
     * Example disassembly syntax: {@code nop     }
     */
    // Template#: 6394, Serial#: 9301
    public void nop_r9301() {
        assemble0374((byte) 0x1A);
    }

    /**
     * Pseudo-external assembler syntax: {@code nop  }
     * Example disassembly syntax: {@code nop     }
     */
    // Template#: 6395, Serial#: 9302
    public void nop_r9302() {
        assemble0375((byte) 0x1A);
    }

    /**
     * Pseudo-external assembler syntax: {@code nop  }
     * Example disassembly syntax: {@code nop     }
     */
    // Template#: 6396, Serial#: 9303
    public void nop_r9303() {
        assemble0373((byte) 0x1B);
    }

    /**
     * Pseudo-external assembler syntax: {@code nop  }
     * Example disassembly syntax: {@code nop     }
     */
    // Template#: 6397, Serial#: 9304
    public void nop_r9304() {
        assemble0374((byte) 0x1B);
    }

    /**
     * Pseudo-external assembler syntax: {@code nop  }
     * Example disassembly syntax: {@code nop     }
     */
    // Template#: 6398, Serial#: 9305
    public void nop_r9305() {
        assemble0375((byte) 0x1B);
    }

    /**
     * Pseudo-external assembler syntax: {@code nop  }
     * Example disassembly syntax: {@code nop     }
     */
    // Template#: 6399, Serial#: 9306
    public void nop_r9306() {
        assemble0373((byte) 0x1C);
    }

    /**
     * Pseudo-external assembler syntax: {@code nop  }
     * Example disassembly syntax: {@code nop     }
     */
    // Template#: 6400, Serial#: 9307
    public void nop_r9307() {
        assemble0374((byte) 0x1C);
    }

    /**
     * Pseudo-external assembler syntax: {@code nop  }
     * Example disassembly syntax: {@code nop     }
     */
    // Template#: 6401, Serial#: 9308
    public void nop_r9308() {
        assemble0375((byte) 0x1C);
    }

    /**
     * Pseudo-external assembler syntax: {@code nop  }
     * Example disassembly syntax: {@code nop     }
     */
    // Template#: 6402, Serial#: 9309
    public void nop_r9309() {
        assemble0373((byte) 0x1D);
    }

    /**
     * Pseudo-external assembler syntax: {@code nop  }
     * Example disassembly syntax: {@code nop     }
     */
    // Template#: 6403, Serial#: 9310
    public void nop_r9310() {
        assemble0374((byte) 0x1D);
    }

    /**
     * Pseudo-external assembler syntax: {@code nop  }
     * Example disassembly syntax: {@code nop     }
     */
    // Template#: 6404, Serial#: 9311
    public void nop_r9311() {
        assemble0375((byte) 0x1D);
    }

    /**
     * Pseudo-external assembler syntax: {@code nop  }
     * Example disassembly syntax: {@code nop     }
     */
    // Template#: 6405, Serial#: 9312
    public void nop_r9312() {
        assemble0373((byte) 0x1E);
    }

    /**
     * Pseudo-external assembler syntax: {@code nop  }
     * Example disassembly syntax: {@code nop     }
     */
    // Template#: 6406, Serial#: 9313
    public void nop_r9313() {
        assemble0374((byte) 0x1E);
    }

    /**
     * Pseudo-external assembler syntax: {@code nop  }
     * Example disassembly syntax: {@code nop     }
     */
    // Template#: 6407, Serial#: 9314
    public void nop_r9314() {
        assemble0375((byte) 0x1E);
    }

    /**
     * Pseudo-external assembler syntax: {@code nop  }
     * Example disassembly syntax: {@code nop     }
     */
    // Template#: 6408, Serial#: 9315
    public void nop_r9315() {
        assemble0373((byte) 0x1F);
    }

    /**
     * Pseudo-external assembler syntax: {@code nop  }
     * Example disassembly syntax: {@code nop     }
     */
    // Template#: 6409, Serial#: 9316
    public void nop_r9316() {
        assemble0374((byte) 0x1F);
    }

    /**
     * Pseudo-external assembler syntax: {@code nop  }
     * Example disassembly syntax: {@code nop     }
     */
    // Template#: 6410, Serial#: 9317
    public void nop_r9317() {
        assemble0375((byte) 0x1F);
    }

    /**
     * Pseudo-external assembler syntax: {@code notb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code notb      rbx[rsi * 4 + 18]}
     */
    // Template#: 6411, Serial#: 2718
    public void notb(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xF6, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code notb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code notb      rbx[rsi * 4 + 18]}
     */
    // Template#: 6412, Serial#: 2790
    public void notb_r2790(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xF6, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code notb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code notb      rbx[rsi * 4 + 18]}
     */
    // Template#: 6413, Serial#: 2862
    public void notb_r2862(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xF6, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code notl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code notl      rbx[rsi * 4 + 18]}
     */
    // Template#: 6414, Serial#: 2934
    public void notl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xF7, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code notq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code notq      rbx[rsi * 4 + 18]}
     */
    // Template#: 6415, Serial#: 3006
    public void notq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xF7, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code notw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code notw      rbx[rsi * 4 + 18]}
     */
    // Template#: 6416, Serial#: 3078
    public void notw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xF7, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code notb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code notb      [rbx + 18]}
     */
    // Template#: 6417, Serial#: 2717
    public void notb(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xF6, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code notb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code notb      [rbx + 18]}
     */
    // Template#: 6418, Serial#: 2789
    public void notb_r2789(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xF6, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code notb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code notb      [rbx + 18]}
     */
    // Template#: 6419, Serial#: 2861
    public void notb_r2861(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xF6, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code notl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code notl      [rbx + 18]}
     */
    // Template#: 6420, Serial#: 2933
    public void notl(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xF7, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code notq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code notq      [rbx + 18]}
     */
    // Template#: 6421, Serial#: 3005
    public void notq(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xF7, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code notw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code notw      [rbx + 18]}
     */
    // Template#: 6422, Serial#: 3077
    public void notw(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xF7, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code notb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code notb      rbx[rsi * 4]}
     */
    // Template#: 6423, Serial#: 2690
    public void notb(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xF6, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code notb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code notb      rbx[rsi * 4]}
     */
    // Template#: 6424, Serial#: 2762
    public void notb_r2762(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xF6, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code notb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code notb      rbx[rsi * 4]}
     */
    // Template#: 6425, Serial#: 2834
    public void notb_r2834(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xF6, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code notl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code notl      rbx[rsi * 4]}
     */
    // Template#: 6426, Serial#: 2906
    public void notl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xF7, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code notq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code notq      rbx[rsi * 4]}
     */
    // Template#: 6427, Serial#: 2978
    public void notq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xF7, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code notw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code notw      rbx[rsi * 4]}
     */
    // Template#: 6428, Serial#: 3050
    public void notw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xF7, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code notw  }<i>destination</i>
     * Example disassembly syntax: {@code notw      ax}
     */
    // Template#: 6429, Serial#: 3107
    public void notw(AMD64GeneralRegister16 destination) {
        assemble0336((byte) 0xF7, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code notl  }<i>destination</i>
     * Example disassembly syntax: {@code notl      eax}
     */
    // Template#: 6430, Serial#: 2963
    public void notl(AMD64GeneralRegister32 destination) {
        assemble0576((byte) 0xF7, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code notq  }<i>destination</i>
     * Example disassembly syntax: {@code notq      rax}
     */
    // Template#: 6431, Serial#: 3035
    public void notq(AMD64GeneralRegister64 destination) {
        assemble0577((byte) 0xF7, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code notb  }<i>destination</i>
     * Example disassembly syntax: {@code notb      al}
     */
    // Template#: 6432, Serial#: 2747
    public void notb(AMD64GeneralRegister8 destination) {
        assemble0578((byte) 0xF6, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code notb  }<i>destination</i>
     * Example disassembly syntax: {@code notb      al}
     */
    // Template#: 6433, Serial#: 2819
    public void notb_r2819(AMD64GeneralRegister8 destination) {
        assemble0579((byte) 0xF6, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code notb  }<i>destination</i>
     * Example disassembly syntax: {@code notb      al}
     */
    // Template#: 6434, Serial#: 2891
    public void notb_r2891(AMD64GeneralRegister8 destination) {
        assemble0580((byte) 0xF6, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code notb  }<i>destination</i>
     * Example disassembly syntax: {@code notb      [rbx]}
     */
    // Template#: 6435, Serial#: 2689
    public void notb(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xF6, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code notb  }<i>destination</i>
     * Example disassembly syntax: {@code notb      [rbx]}
     */
    // Template#: 6436, Serial#: 2761
    public void notb_r2761(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xF6, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code notb  }<i>destination</i>
     * Example disassembly syntax: {@code notb      [rbx]}
     */
    // Template#: 6437, Serial#: 2833
    public void notb_r2833(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xF6, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code notl  }<i>destination</i>
     * Example disassembly syntax: {@code notl      [rbx]}
     */
    // Template#: 6438, Serial#: 2905
    public void notl(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xF7, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code notq  }<i>destination</i>
     * Example disassembly syntax: {@code notq      [rbx]}
     */
    // Template#: 6439, Serial#: 2977
    public void notq(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xF7, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code notw  }<i>destination</i>
     * Example disassembly syntax: {@code notw      [rbx]}
     */
    // Template#: 6440, Serial#: 3049
    public void notw(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xF7, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code notb  }<i>rel32</i>
     * Example disassembly syntax: {@code notb      [L1: +305419896]}
     */
    // Template#: 6441, Serial#: 2692
    public void rip_notb(int rel32) {
        assemble0341((byte) 0xF6, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code notb  }<i>rel32</i>
     * Example disassembly syntax: {@code notb      [L1: +305419896]}
     */
    // Template#: 6442, Serial#: 2764
    public void rip_notb_r2764(int rel32) {
        assemble0582((byte) 0xF6, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code notb  }<i>rel32</i>
     * Example disassembly syntax: {@code notb      [L1: +305419896]}
     */
    // Template#: 6443, Serial#: 2836
    public void rip_notb_r2836(int rel32) {
        assemble0342((byte) 0xF6, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code notl  }<i>rel32</i>
     * Example disassembly syntax: {@code notl      [L1: +305419896]}
     */
    // Template#: 6444, Serial#: 2908
    public void rip_notl(int rel32) {
        assemble0341((byte) 0xF7, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code notq  }<i>rel32</i>
     * Example disassembly syntax: {@code notq      [L1: +305419896]}
     */
    // Template#: 6445, Serial#: 2980
    public void rip_notq(int rel32) {
        assemble0582((byte) 0xF7, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code notw  }<i>rel32</i>
     * Example disassembly syntax: {@code notw      [L1: +305419896]}
     */
    // Template#: 6446, Serial#: 3052
    public void rip_notw(int rel32) {
        assemble0342((byte) 0xF7, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code notb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code notb      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6447, Serial#: 2734
    public void notb(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xF6, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code notb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code notb      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6448, Serial#: 2806
    public void notb_r2806(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xF6, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code notb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code notb      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6449, Serial#: 2878
    public void notb_r2878(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xF6, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code notl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code notl      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6450, Serial#: 2950
    public void notl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xF7, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code notq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code notq      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6451, Serial#: 3022
    public void notq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xF7, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code notw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code notw      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6452, Serial#: 3094
    public void notw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xF7, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code notb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code notb      0x12345678[rsi * 4]}
     */
    // Template#: 6453, Serial#: 2691
    public void m_notb(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xF6, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code notb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code notb      0x12345678[rsi * 4]}
     */
    // Template#: 6454, Serial#: 2763
    public void m_notb_r2763(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xF6, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code notb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code notb      0x12345678[rsi * 4]}
     */
    // Template#: 6455, Serial#: 2835
    public void m_notb_r2835(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xF6, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code notl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code notl      0x12345678[rsi * 4]}
     */
    // Template#: 6456, Serial#: 2907
    public void m_notl(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xF7, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code notq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code notq      0x12345678[rsi * 4]}
     */
    // Template#: 6457, Serial#: 2979
    public void m_notq(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xF7, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code notw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code notw      0x12345678[rsi * 4]}
     */
    // Template#: 6458, Serial#: 3051
    public void m_notw(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xF7, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code notb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code notb      [rbx + 305419896]}
     */
    // Template#: 6459, Serial#: 2733
    public void notb(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xF6, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code notb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code notb      [rbx + 305419896]}
     */
    // Template#: 6460, Serial#: 2805
    public void notb_r2805(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xF6, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code notb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code notb      [rbx + 305419896]}
     */
    // Template#: 6461, Serial#: 2877
    public void notb_r2877(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xF6, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code notl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code notl      [rbx + 305419896]}
     */
    // Template#: 6462, Serial#: 2949
    public void notl(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xF7, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code notq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code notq      [rbx + 305419896]}
     */
    // Template#: 6463, Serial#: 3021
    public void notq(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xF7, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code notw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code notw      [rbx + 305419896]}
     */
    // Template#: 6464, Serial#: 3093
    public void notw(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xF7, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code operand_size  }
     * Example disassembly syntax: {@code operand_size}
     */
    // Template#: 6465, Serial#: 483
    public void operand_size() {
        assemble0208((byte) 0x66);
    }

    /**
     * Pseudo-external assembler syntax: {@code operand_size  }
     * Example disassembly syntax: {@code operand_size}
     */
    // Template#: 6466, Serial#: 484
    public void operand_size_r484() {
        assemble0209((byte) 0x66);
    }

    /**
     * Pseudo-external assembler syntax: {@code operand_size  }
     * Example disassembly syntax: {@code operand_size}
     */
    // Template#: 6467, Serial#: 485
    public void operand_size_r485() {
        assemble0210((byte) 0x66);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>imm8</i>
     * Example disassembly syntax: {@code or        al, 0x12}
     */
    // Template#: 6468, Serial#: 3221
    public void or_AL(byte imm8) {
        assemble0001((byte) 0x0C, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>imm8</i>
     * Example disassembly syntax: {@code or        al, 0x12}
     */
    // Template#: 6469, Serial#: 3222
    public void or_AL_r3222(byte imm8) {
        assemble0002((byte) 0x0C, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>imm8</i>
     * Example disassembly syntax: {@code or        al, 0x12}
     */
    // Template#: 6470, Serial#: 3223
    public void or_AL_r3223(byte imm8) {
        assemble0003((byte) 0x0C, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orb       rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 6471, Serial#: 532
    public void orb(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0x80, (byte) 0x01, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orb       rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 6472, Serial#: 604
    public void orb_r604(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0x80, (byte) 0x01, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orb       rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 6473, Serial#: 676
    public void orb_r676(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0x80, (byte) 0x01, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orl       rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 6474, Serial#: 964
    public void orl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0x83, (byte) 0x01, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orq       rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 6475, Serial#: 1036
    public void orq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0x83, (byte) 0x01, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orw       rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 6476, Serial#: 1108
    public void orw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0x83, (byte) 0x01, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code or        rbx[rsi * 4 + 18], ax}
     */
    // Template#: 6477, Serial#: 3163
    public void or(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0007((byte) 0x09, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code or        rbx[rsi * 4 + 18], eax}
     */
    // Template#: 6478, Serial#: 3145
    public void or(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0008((byte) 0x09, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code or        rbx[rsi * 4 + 18], rax}
     */
    // Template#: 6479, Serial#: 3154
    public void or(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0009((byte) 0x09, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code or        rbx[rsi * 4 + 18], al}
     */
    // Template#: 6480, Serial#: 3118
    public void or(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0010((byte) 0x08, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code or        rbx[rsi * 4 + 18], al}
     */
    // Template#: 6481, Serial#: 3127
    public void or_r3127(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0011((byte) 0x08, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code or        rbx[rsi * 4 + 18], al}
     */
    // Template#: 6482, Serial#: 3136
    public void or_r3136(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0012((byte) 0x08, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code orl       rbx[rsi * 4 + 18], 0x12345678}
     */
    // Template#: 6483, Serial#: 748
    public void orl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0013((byte) 0x81, (byte) 0x01, disp8, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code orq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code orq       rbx[rsi * 4 + 18], 0x12345678}
     */
    // Template#: 6484, Serial#: 820
    public void orq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0014((byte) 0x81, (byte) 0x01, disp8, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code orw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code orw       rbx[rsi * 4 + 18], 0x1234}
     */
    // Template#: 6485, Serial#: 892
    public void orw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0015((byte) 0x81, (byte) 0x01, disp8, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code orb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orb       [rbx + 18], 0x12}
     */
    // Template#: 6486, Serial#: 531
    public void orb(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0x80, (byte) 0x01, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orb       [rbx + 18], 0x12}
     */
    // Template#: 6487, Serial#: 603
    public void orb_r603(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0x80, (byte) 0x01, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orb       [rbx + 18], 0x12}
     */
    // Template#: 6488, Serial#: 675
    public void orb_r675(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0x80, (byte) 0x01, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orl  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orl       [rbx + 18], 0x12}
     */
    // Template#: 6489, Serial#: 963
    public void orl(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0x83, (byte) 0x01, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orq  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orq       [rbx + 18], 0x12}
     */
    // Template#: 6490, Serial#: 1035
    public void orq(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0x83, (byte) 0x01, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orw  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orw       [rbx + 18], 0x12}
     */
    // Template#: 6491, Serial#: 1107
    public void orw(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0x83, (byte) 0x01, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        [rbx + 18], ax}
     */
    // Template#: 6492, Serial#: 3162
    public void or(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0019((byte) 0x09, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        [rbx + 18], eax}
     */
    // Template#: 6493, Serial#: 3144
    public void or(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0020((byte) 0x09, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        [rbx + 18], rax}
     */
    // Template#: 6494, Serial#: 3153
    public void or(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0021((byte) 0x09, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        [rbx + 18], al}
     */
    // Template#: 6495, Serial#: 3117
    public void or(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0022((byte) 0x08, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        [rbx + 18], al}
     */
    // Template#: 6496, Serial#: 3126
    public void or_r3126(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0023((byte) 0x08, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        [rbx + 18], al}
     */
    // Template#: 6497, Serial#: 3135
    public void or_r3135(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0024((byte) 0x08, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orl  }<i>disp8</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code orl       [rbx + 18], 0x12345678}
     */
    // Template#: 6498, Serial#: 747
    public void orl(byte disp8, AMD64IndirectRegister64 destination, int imm32) {
        assemble0025((byte) 0x81, (byte) 0x01, disp8, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code orq  }<i>disp8</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code orq       [rbx + 18], 0x12345678}
     */
    // Template#: 6499, Serial#: 819
    public void orq(byte disp8, AMD64IndirectRegister64 destination, int imm32) {
        assemble0026((byte) 0x81, (byte) 0x01, disp8, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code orw  }<i>disp8</i>, <i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code orw       [rbx + 18], 0x1234}
     */
    // Template#: 6500, Serial#: 891
    public void orw(byte disp8, AMD64IndirectRegister64 destination, short imm16) {
        assemble0027((byte) 0x81, (byte) 0x01, disp8, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code orb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orb       rbx[rsi * 4], 0x12}
     */
    // Template#: 6501, Serial#: 502
    public void orb(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0x80, (byte) 0x01, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orb       rbx[rsi * 4], 0x12}
     */
    // Template#: 6502, Serial#: 574
    public void orb_r574(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0x80, (byte) 0x01, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orb       rbx[rsi * 4], 0x12}
     */
    // Template#: 6503, Serial#: 646
    public void orb_r646(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0x80, (byte) 0x01, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orl  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orl       rbx[rsi * 4], 0x12}
     */
    // Template#: 6504, Serial#: 934
    public void orl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0x83, (byte) 0x01, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orq       rbx[rsi * 4], 0x12}
     */
    // Template#: 6505, Serial#: 1006
    public void orq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0x83, (byte) 0x01, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orw  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orw       rbx[rsi * 4], 0x12}
     */
    // Template#: 6506, Serial#: 1078
    public void orw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0x83, (byte) 0x01, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code or        rbx[rsi * 4], ax}
     */
    // Template#: 6507, Serial#: 3159
    public void or(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0031((byte) 0x09, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code or        rbx[rsi * 4], eax}
     */
    // Template#: 6508, Serial#: 3141
    public void or(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0032((byte) 0x09, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code or        rbx[rsi * 4], rax}
     */
    // Template#: 6509, Serial#: 3150
    public void or(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0033((byte) 0x09, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code or        rbx[rsi * 4], al}
     */
    // Template#: 6510, Serial#: 3114
    public void or(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0034((byte) 0x08, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code or        rbx[rsi * 4], al}
     */
    // Template#: 6511, Serial#: 3123
    public void or_r3123(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0035((byte) 0x08, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code or        rbx[rsi * 4], al}
     */
    // Template#: 6512, Serial#: 3132
    public void or_r3132(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0036((byte) 0x08, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orl  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code orl       rbx[rsi * 4], 0x12345678}
     */
    // Template#: 6513, Serial#: 718
    public void orl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0037((byte) 0x81, (byte) 0x01, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code orq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code orq       rbx[rsi * 4], 0x12345678}
     */
    // Template#: 6514, Serial#: 790
    public void orq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0038((byte) 0x81, (byte) 0x01, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code orw  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code orw       rbx[rsi * 4], 0x1234}
     */
    // Template#: 6515, Serial#: 862
    public void orw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0039((byte) 0x81, (byte) 0x01, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code orw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orw       ax, 0x12}
     */
    // Template#: 6516, Serial#: 1138
    public void orw(AMD64GeneralRegister16 destination, byte imm8) {
        assemble0040((byte) 0x83, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code or        ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 6517, Serial#: 3217
    public void or(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0041((byte) 0x0B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code or        ax, [rbx + 18]}
     */
    // Template#: 6518, Serial#: 3216
    public void or(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0042((byte) 0x0B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code or        ax, rbx[rsi * 4]}
     */
    // Template#: 6519, Serial#: 3213
    public void or(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0043((byte) 0x0B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        ax, ax}
     */
    // Template#: 6520, Serial#: 3166
    public void or(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0044((byte) 0x09, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        ax, ax}
     */
    // Template#: 6521, Serial#: 3220
    public void or_r3220(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0045((byte) 0x0B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        ax, [rbx]}
     */
    // Template#: 6522, Serial#: 3212
    public void or(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0046((byte) 0x0B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code or        ax, [L1: +305419896]}
     */
    // Template#: 6523, Serial#: 3215
    public void rip_or(AMD64GeneralRegister16 destination, int rel32) {
        assemble0047((byte) 0x0B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code or        ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6524, Serial#: 3219
    public void or(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0048((byte) 0x0B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code or        ax, 0x12345678[rsi * 4]}
     */
    // Template#: 6525, Serial#: 3214
    public void m_or(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0049((byte) 0x0B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code or        ax, [rbx + 305419896]}
     */
    // Template#: 6526, Serial#: 3218
    public void or(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0050((byte) 0x0B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orw  }<i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code orw       ax, 0x1234}
     */
    // Template#: 6527, Serial#: 922
    public void orw(AMD64GeneralRegister16 destination, short imm16) {
        assemble0051((byte) 0x81, (byte) 0x01, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code orl  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orl       eax, 0x12}
     */
    // Template#: 6528, Serial#: 994
    public void orl(AMD64GeneralRegister32 destination, byte imm8) {
        assemble0052((byte) 0x83, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code or        eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 6529, Serial#: 3199
    public void or(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0053((byte) 0x0B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code or        eax, [rbx + 18]}
     */
    // Template#: 6530, Serial#: 3198
    public void or(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0054((byte) 0x0B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code or        eax, rbx[rsi * 4]}
     */
    // Template#: 6531, Serial#: 3195
    public void or(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0055((byte) 0x0B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        eax, eax}
     */
    // Template#: 6532, Serial#: 3148
    public void or(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0056((byte) 0x09, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        eax, eax}
     */
    // Template#: 6533, Serial#: 3202
    public void or_r3202(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0057((byte) 0x0B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        eax, [rbx]}
     */
    // Template#: 6534, Serial#: 3194
    public void or(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0058((byte) 0x0B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orl  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code orl       eax, 0x12345678}
     */
    // Template#: 6535, Serial#: 778
    public void orl(AMD64GeneralRegister32 destination, int imm32) {
        assemble0060((byte) 0x81, (byte) 0x01, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code or        eax, [L1: +305419896]}
     */
    // Template#: 6536, Serial#: 3197
    public void rip_or(AMD64GeneralRegister32 destination, int rel32) {
        assemble0059((byte) 0x0B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code or        eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6537, Serial#: 3201
    public void or(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0061((byte) 0x0B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code or        eax, 0x12345678[rsi * 4]}
     */
    // Template#: 6538, Serial#: 3196
    public void m_or(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0062((byte) 0x0B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code or        eax, [rbx + 305419896]}
     */
    // Template#: 6539, Serial#: 3200
    public void or(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0063((byte) 0x0B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orq       rax, 0x12}
     */
    // Template#: 6540, Serial#: 1066
    public void orq(AMD64GeneralRegister64 destination, byte imm8) {
        assemble0064((byte) 0x83, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code or        rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 6541, Serial#: 3208
    public void or(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0065((byte) 0x0B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code or        rax, [rbx + 18]}
     */
    // Template#: 6542, Serial#: 3207
    public void or(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0066((byte) 0x0B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code or        rax, rbx[rsi * 4]}
     */
    // Template#: 6543, Serial#: 3204
    public void or(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0067((byte) 0x0B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        rax, rax}
     */
    // Template#: 6544, Serial#: 3157
    public void or(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0068((byte) 0x09, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        rax, rax}
     */
    // Template#: 6545, Serial#: 3211
    public void or_r3211(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0069((byte) 0x0B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        rax, [rbx]}
     */
    // Template#: 6546, Serial#: 3203
    public void or(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0070((byte) 0x0B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orq  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code orq       rax, 0x12345678}
     */
    // Template#: 6547, Serial#: 850
    public void orq(AMD64GeneralRegister64 destination, int imm32) {
        assemble0072((byte) 0x81, (byte) 0x01, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code or        rax, [L1: +305419896]}
     */
    // Template#: 6548, Serial#: 3206
    public void rip_or(AMD64GeneralRegister64 destination, int rel32) {
        assemble0071((byte) 0x0B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code or        rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6549, Serial#: 3210
    public void or(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0073((byte) 0x0B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code or        rax, 0x12345678[rsi * 4]}
     */
    // Template#: 6550, Serial#: 3205
    public void m_or(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0074((byte) 0x0B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code or        rax, [rbx + 305419896]}
     */
    // Template#: 6551, Serial#: 3209
    public void or(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0075((byte) 0x0B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orb       al, 0x12}
     */
    // Template#: 6552, Serial#: 562
    public void orb(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0076((byte) 0x80, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orb       al, 0x12}
     */
    // Template#: 6553, Serial#: 634
    public void orb_r634(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0077((byte) 0x80, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orb       al, 0x12}
     */
    // Template#: 6554, Serial#: 706
    public void orb_r706(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0078((byte) 0x80, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code or        al, rbx[rsi * 4 + 18]}
     */
    // Template#: 6555, Serial#: 3172
    public void or(AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0079((byte) 0x0A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code or        al, rbx[rsi * 4 + 18]}
     */
    // Template#: 6556, Serial#: 3181
    public void or_r3181(AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0080((byte) 0x0A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code or        al, rbx[rsi * 4 + 18]}
     */
    // Template#: 6557, Serial#: 3190
    public void or_r3190(AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0081((byte) 0x0A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code or        al, [rbx + 18]}
     */
    // Template#: 6558, Serial#: 3171
    public void or(AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0082((byte) 0x0A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code or        al, [rbx + 18]}
     */
    // Template#: 6559, Serial#: 3180
    public void or_r3180(AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0083((byte) 0x0A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code or        al, [rbx + 18]}
     */
    // Template#: 6560, Serial#: 3189
    public void or_r3189(AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0084((byte) 0x0A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code or        al, rbx[rsi * 4]}
     */
    // Template#: 6561, Serial#: 3168
    public void or(AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0085((byte) 0x0A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code or        al, rbx[rsi * 4]}
     */
    // Template#: 6562, Serial#: 3177
    public void or_r3177(AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0086((byte) 0x0A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code or        al, rbx[rsi * 4]}
     */
    // Template#: 6563, Serial#: 3186
    public void or_r3186(AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0087((byte) 0x0A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        al, al}
     */
    // Template#: 6564, Serial#: 3121
    public void or(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0088((byte) 0x08, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        al, al}
     */
    // Template#: 6565, Serial#: 3130
    public void or_r3130(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0089((byte) 0x08, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        al, al}
     */
    // Template#: 6566, Serial#: 3139
    public void or_r3139(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0090((byte) 0x08, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        al, al}
     */
    // Template#: 6567, Serial#: 3175
    public void or_r3175(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0091((byte) 0x0A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        al, al}
     */
    // Template#: 6568, Serial#: 3184
    public void or_r3184(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0092((byte) 0x0A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        al, al}
     */
    // Template#: 6569, Serial#: 3193
    public void or_r3193(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0093((byte) 0x0A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        al, [rbx]}
     */
    // Template#: 6570, Serial#: 3167
    public void or(AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        assemble0094((byte) 0x0A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        al, [rbx]}
     */
    // Template#: 6571, Serial#: 3176
    public void or_r3176(AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        assemble0095((byte) 0x0A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        al, [rbx]}
     */
    // Template#: 6572, Serial#: 3185
    public void or_r3185(AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        assemble0096((byte) 0x0A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code or        al, [L1: +305419896]}
     */
    // Template#: 6573, Serial#: 3170
    public void rip_or(AMD64GeneralRegister8 destination, int rel32) {
        assemble0097((byte) 0x0A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code or        al, [L1: +305419896]}
     */
    // Template#: 6574, Serial#: 3179
    public void rip_or_r3179(AMD64GeneralRegister8 destination, int rel32) {
        assemble0098((byte) 0x0A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code or        al, [L1: +305419896]}
     */
    // Template#: 6575, Serial#: 3188
    public void rip_or_r3188(AMD64GeneralRegister8 destination, int rel32) {
        assemble0099((byte) 0x0A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code or        al, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6576, Serial#: 3174
    public void or(AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0100((byte) 0x0A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code or        al, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6577, Serial#: 3183
    public void or_r3183(AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0101((byte) 0x0A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code or        al, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6578, Serial#: 3192
    public void or_r3192(AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0102((byte) 0x0A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code or        al, 0x12345678[rsi * 4]}
     */
    // Template#: 6579, Serial#: 3169
    public void m_or(AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0103((byte) 0x0A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code or        al, 0x12345678[rsi * 4]}
     */
    // Template#: 6580, Serial#: 3178
    public void m_or_r3178(AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0104((byte) 0x0A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code or        al, 0x12345678[rsi * 4]}
     */
    // Template#: 6581, Serial#: 3187
    public void m_or_r3187(AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0105((byte) 0x0A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code or        al, [rbx + 305419896]}
     */
    // Template#: 6582, Serial#: 3173
    public void or(AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0106((byte) 0x0A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code or        al, [rbx + 305419896]}
     */
    // Template#: 6583, Serial#: 3182
    public void or_r3182(AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0107((byte) 0x0A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code or        al, [rbx + 305419896]}
     */
    // Template#: 6584, Serial#: 3191
    public void or_r3191(AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0108((byte) 0x0A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orb       [rbx], 0x12}
     */
    // Template#: 6585, Serial#: 501
    public void orb(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0x80, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orb       [rbx], 0x12}
     */
    // Template#: 6586, Serial#: 573
    public void orb_r573(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0x80, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orb       [rbx], 0x12}
     */
    // Template#: 6587, Serial#: 645
    public void orb_r645(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0x80, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orl  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orl       [rbx], 0x12}
     */
    // Template#: 6588, Serial#: 933
    public void orl(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0x83, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orq       [rbx], 0x12}
     */
    // Template#: 6589, Serial#: 1005
    public void orq(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0x83, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orw       [rbx], 0x12}
     */
    // Template#: 6590, Serial#: 1077
    public void orw(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0x83, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        [rbx], ax}
     */
    // Template#: 6591, Serial#: 3158
    public void or(AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0112((byte) 0x09, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        [rbx], eax}
     */
    // Template#: 6592, Serial#: 3140
    public void or(AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0113((byte) 0x09, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        [rbx], rax}
     */
    // Template#: 6593, Serial#: 3149
    public void or(AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0114((byte) 0x09, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        [rbx], al}
     */
    // Template#: 6594, Serial#: 3113
    public void or(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0115((byte) 0x08, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        [rbx], al}
     */
    // Template#: 6595, Serial#: 3122
    public void or_r3122(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0116((byte) 0x08, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        [rbx], al}
     */
    // Template#: 6596, Serial#: 3131
    public void or_r3131(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0117((byte) 0x08, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orl  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code orl       [rbx], 0x12345678}
     */
    // Template#: 6597, Serial#: 717
    public void orl(AMD64IndirectRegister64 destination, int imm32) {
        assemble0118((byte) 0x81, (byte) 0x01, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code orq  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code orq       [rbx], 0x12345678}
     */
    // Template#: 6598, Serial#: 789
    public void orq(AMD64IndirectRegister64 destination, int imm32) {
        assemble0119((byte) 0x81, (byte) 0x01, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code orw  }<i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code orw       [rbx], 0x1234}
     */
    // Template#: 6599, Serial#: 861
    public void orw(AMD64IndirectRegister64 destination, short imm16) {
        assemble0120((byte) 0x81, (byte) 0x01, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>imm32</i>
     * Example disassembly syntax: {@code or        eax, 0x12345678}
     */
    // Template#: 6600, Serial#: 3224
    public void or_EAX(int imm32) {
        assemble0121((byte) 0x0D, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>imm32</i>
     * Example disassembly syntax: {@code or        rax, 0x12345678}
     */
    // Template#: 6601, Serial#: 3225
    public void or_RAX(int imm32) {
        assemble0122((byte) 0x0D, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code orb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orb       [L1: +305419896], 0x12}
     */
    // Template#: 6602, Serial#: 504
    public void rip_orb(int rel32, byte imm8) {
        assemble0123((byte) 0x80, (byte) 0x01, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orb       [L1: +305419896], 0x12}
     */
    // Template#: 6603, Serial#: 576
    public void rip_orb_r576(int rel32, byte imm8) {
        assemble0124((byte) 0x80, (byte) 0x01, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orb       [L1: +305419896], 0x12}
     */
    // Template#: 6604, Serial#: 648
    public void rip_orb_r648(int rel32, byte imm8) {
        assemble0125((byte) 0x80, (byte) 0x01, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orl  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orl       [L1: +305419896], 0x12}
     */
    // Template#: 6605, Serial#: 936
    public void rip_orl(int rel32, byte imm8) {
        assemble0123((byte) 0x83, (byte) 0x01, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orq  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orq       [L1: +305419896], 0x12}
     */
    // Template#: 6606, Serial#: 1008
    public void rip_orq(int rel32, byte imm8) {
        assemble0124((byte) 0x83, (byte) 0x01, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orw  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orw       [L1: +305419896], 0x12}
     */
    // Template#: 6607, Serial#: 1080
    public void rip_orw(int rel32, byte imm8) {
        assemble0125((byte) 0x83, (byte) 0x01, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orb       rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 6608, Serial#: 548
    public void orb(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0x80, (byte) 0x01, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orb       rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 6609, Serial#: 620
    public void orb_r620(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0x80, (byte) 0x01, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orb       rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 6610, Serial#: 692
    public void orb_r692(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0x80, (byte) 0x01, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orl       rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 6611, Serial#: 980
    public void orl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0x83, (byte) 0x01, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orq       rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 6612, Serial#: 1052
    public void orq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0x83, (byte) 0x01, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orw       rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 6613, Serial#: 1124
    public void orw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0x83, (byte) 0x01, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code or        rbx[rsi * 4 + 305419896], ax}
     */
    // Template#: 6614, Serial#: 3165
    public void or(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0129((byte) 0x09, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code or        rbx[rsi * 4 + 305419896], eax}
     */
    // Template#: 6615, Serial#: 3147
    public void or(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0130((byte) 0x09, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code or        rbx[rsi * 4 + 305419896], rax}
     */
    // Template#: 6616, Serial#: 3156
    public void or(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0131((byte) 0x09, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code or        rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 6617, Serial#: 3120
    public void or(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0132((byte) 0x08, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code or        rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 6618, Serial#: 3129
    public void or_r3129(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0133((byte) 0x08, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code or        rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 6619, Serial#: 3138
    public void or_r3138(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0134((byte) 0x08, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code orl       rbx[rsi * 4 + 305419896], 0x12345678}
     */
    // Template#: 6620, Serial#: 764
    public void orl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0135((byte) 0x81, (byte) 0x01, disp32, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code orq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code orq       rbx[rsi * 4 + 305419896], 0x12345678}
     */
    // Template#: 6621, Serial#: 836
    public void orq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0136((byte) 0x81, (byte) 0x01, disp32, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code orw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code orw       rbx[rsi * 4 + 305419896], 0x1234}
     */
    // Template#: 6622, Serial#: 908
    public void orw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0137((byte) 0x81, (byte) 0x01, disp32, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code or        [L1: +305419896], ax}
     */
    // Template#: 6623, Serial#: 3161
    public void rip_or(int rel32, AMD64GeneralRegister16 source) {
        assemble0138((byte) 0x09, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code or        [L1: +305419896], eax}
     */
    // Template#: 6624, Serial#: 3143
    public void rip_or(int rel32, AMD64GeneralRegister32 source) {
        assemble0139((byte) 0x09, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code or        [L1: +305419896], rax}
     */
    // Template#: 6625, Serial#: 3152
    public void rip_or(int rel32, AMD64GeneralRegister64 source) {
        assemble0140((byte) 0x09, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code or        [L1: +305419896], al}
     */
    // Template#: 6626, Serial#: 3116
    public void rip_or(int rel32, AMD64GeneralRegister8 source) {
        assemble0141((byte) 0x08, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code or        [L1: +305419896], al}
     */
    // Template#: 6627, Serial#: 3125
    public void rip_or_r3125(int rel32, AMD64GeneralRegister8 source) {
        assemble0142((byte) 0x08, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code or        [L1: +305419896], al}
     */
    // Template#: 6628, Serial#: 3134
    public void rip_or_r3134(int rel32, AMD64GeneralRegister8 source) {
        assemble0143((byte) 0x08, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orb       0x12345678[rsi * 4], 0x12}
     */
    // Template#: 6629, Serial#: 503
    public void m_orb(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0x80, (byte) 0x01, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orb       0x12345678[rsi * 4], 0x12}
     */
    // Template#: 6630, Serial#: 575
    public void m_orb_r575(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0x80, (byte) 0x01, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orb       0x12345678[rsi * 4], 0x12}
     */
    // Template#: 6631, Serial#: 647
    public void m_orb_r647(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0x80, (byte) 0x01, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orl  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orl       0x12345678[rsi * 4], 0x12}
     */
    // Template#: 6632, Serial#: 935
    public void m_orl(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0x83, (byte) 0x01, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orq       0x12345678[rsi * 4], 0x12}
     */
    // Template#: 6633, Serial#: 1007
    public void m_orq(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0x83, (byte) 0x01, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orw  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orw       0x12345678[rsi * 4], 0x12}
     */
    // Template#: 6634, Serial#: 1079
    public void m_orw(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0x83, (byte) 0x01, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code or        0x12345678[rsi * 4], ax}
     */
    // Template#: 6635, Serial#: 3160
    public void m_or(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0147((byte) 0x09, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code or        0x12345678[rsi * 4], eax}
     */
    // Template#: 6636, Serial#: 3142
    public void m_or(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0148((byte) 0x09, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code or        0x12345678[rsi * 4], rax}
     */
    // Template#: 6637, Serial#: 3151
    public void m_or(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0149((byte) 0x09, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code or        0x12345678[rsi * 4], al}
     */
    // Template#: 6638, Serial#: 3115
    public void m_or(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0150((byte) 0x08, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code or        0x12345678[rsi * 4], al}
     */
    // Template#: 6639, Serial#: 3124
    public void m_or_r3124(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0151((byte) 0x08, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code or        0x12345678[rsi * 4], al}
     */
    // Template#: 6640, Serial#: 3133
    public void m_or_r3133(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0152((byte) 0x08, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orl  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code orl       0x12345678[rsi * 4], 0x12345678}
     */
    // Template#: 6641, Serial#: 719
    public void m_orl(int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0153((byte) 0x81, (byte) 0x01, m32, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code orq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code orq       0x12345678[rsi * 4], 0x12345678}
     */
    // Template#: 6642, Serial#: 791
    public void m_orq(int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0154((byte) 0x81, (byte) 0x01, m32, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code orw  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code orw       0x12345678[rsi * 4], 0x1234}
     */
    // Template#: 6643, Serial#: 863
    public void m_orw(int m32, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0155((byte) 0x81, (byte) 0x01, m32, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code orb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orb       [rbx + 305419896], 0x12}
     */
    // Template#: 6644, Serial#: 547
    public void orb(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0x80, (byte) 0x01, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orb       [rbx + 305419896], 0x12}
     */
    // Template#: 6645, Serial#: 619
    public void orb_r619(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0x80, (byte) 0x01, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orb       [rbx + 305419896], 0x12}
     */
    // Template#: 6646, Serial#: 691
    public void orb_r691(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0x80, (byte) 0x01, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orl  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orl       [rbx + 305419896], 0x12}
     */
    // Template#: 6647, Serial#: 979
    public void orl(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0x83, (byte) 0x01, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orq  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orq       [rbx + 305419896], 0x12}
     */
    // Template#: 6648, Serial#: 1051
    public void orq(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0x83, (byte) 0x01, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code orw  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code orw       [rbx + 305419896], 0x12}
     */
    // Template#: 6649, Serial#: 1123
    public void orw(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0x83, (byte) 0x01, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        [rbx + 305419896], ax}
     */
    // Template#: 6650, Serial#: 3164
    public void or(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0159((byte) 0x09, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        [rbx + 305419896], eax}
     */
    // Template#: 6651, Serial#: 3146
    public void or(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0160((byte) 0x09, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        [rbx + 305419896], rax}
     */
    // Template#: 6652, Serial#: 3155
    public void or(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0161((byte) 0x09, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        [rbx + 305419896], al}
     */
    // Template#: 6653, Serial#: 3119
    public void or(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0162((byte) 0x08, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        [rbx + 305419896], al}
     */
    // Template#: 6654, Serial#: 3128
    public void or_r3128(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0163((byte) 0x08, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code or        [rbx + 305419896], al}
     */
    // Template#: 6655, Serial#: 3137
    public void or_r3137(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0164((byte) 0x08, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orl  }<i>disp32</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code orl       [rbx + 305419896], 0x12345678}
     */
    // Template#: 6656, Serial#: 763
    public void orl(int disp32, AMD64IndirectRegister64 destination, int imm32) {
        assemble0165((byte) 0x81, (byte) 0x01, disp32, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code orq  }<i>disp32</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code orq       [rbx + 305419896], 0x12345678}
     */
    // Template#: 6657, Serial#: 835
    public void orq(int disp32, AMD64IndirectRegister64 destination, int imm32) {
        assemble0166((byte) 0x81, (byte) 0x01, disp32, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code orw  }<i>disp32</i>, <i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code orw       [rbx + 305419896], 0x1234}
     */
    // Template#: 6658, Serial#: 907
    public void orw(int disp32, AMD64IndirectRegister64 destination, short imm16) {
        assemble0167((byte) 0x81, (byte) 0x01, disp32, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code orl  }<i>rel32</i>, <i>imm32</i>
     * Example disassembly syntax: {@code orl       [L1: +305419896], 0x12345678}
     */
    // Template#: 6659, Serial#: 720
    public void rip_orl(int rel32, int imm32) {
        assemble0168((byte) 0x81, (byte) 0x01, rel32, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code orq  }<i>rel32</i>, <i>imm32</i>
     * Example disassembly syntax: {@code orq       [L1: +305419896], 0x12345678}
     */
    // Template#: 6660, Serial#: 792
    public void rip_orq(int rel32, int imm32) {
        assemble0169((byte) 0x81, (byte) 0x01, rel32, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code orw  }<i>rel32</i>, <i>imm16</i>
     * Example disassembly syntax: {@code orw       [L1: +305419896], 0x1234}
     */
    // Template#: 6661, Serial#: 864
    public void rip_orw(int rel32, short imm16) {
        assemble0170((byte) 0x81, (byte) 0x01, rel32, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code or  }<i>imm16</i>
     * Example disassembly syntax: {@code or        ax, 0x1234}
     */
    // Template#: 6662, Serial#: 3226
    public void or_AX(short imm16) {
        assemble0171((byte) 0x0D, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code orpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code orpd      xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6663, Serial#: 6772
    public void orpd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x56, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code orpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code orpd      xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6664, Serial#: 6781
    public void orpd_r6781(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x56, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code orpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code orpd      xmm0, [rbx + 18]}
     */
    // Template#: 6665, Serial#: 6771
    public void orpd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x56, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code orpd      xmm0, [rbx + 18]}
     */
    // Template#: 6666, Serial#: 6780
    public void orpd_r6780(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x56, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code orpd      xmm0, rbx[rsi * 4]}
     */
    // Template#: 6667, Serial#: 6768
    public void orpd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x56, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code orpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code orpd      xmm0, rbx[rsi * 4]}
     */
    // Template#: 6668, Serial#: 6777
    public void orpd_r6777(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x56, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code orpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code orpd      xmm0, [rbx]}
     */
    // Template#: 6669, Serial#: 6767
    public void orpd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x56, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code orpd      xmm0, [rbx]}
     */
    // Template#: 6670, Serial#: 6776
    public void orpd_r6776(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x56, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code orpd      xmm0, xmm0}
     */
    // Template#: 6671, Serial#: 6775
    public void orpd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x56, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code orpd      xmm0, xmm0}
     */
    // Template#: 6672, Serial#: 6784
    public void orpd_r6784(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x56, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code orpd      xmm0, [L1: +305419896]}
     */
    // Template#: 6673, Serial#: 6770
    public void rip_orpd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x56, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code orpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code orpd      xmm0, [L1: +305419896]}
     */
    // Template#: 6674, Serial#: 6779
    public void rip_orpd_r6779(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x56, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code orpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code orpd      xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6675, Serial#: 6774
    public void orpd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x56, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code orpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code orpd      xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6676, Serial#: 6783
    public void orpd_r6783(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x56, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code orpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code orpd      xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6677, Serial#: 6769
    public void m_orpd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x56, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code orpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code orpd      xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6678, Serial#: 6778
    public void m_orpd_r6778(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x56, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code orpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code orpd      xmm0, [rbx + 305419896]}
     */
    // Template#: 6679, Serial#: 6773
    public void orpd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x56, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code orpd      xmm0, [rbx + 305419896]}
     */
    // Template#: 6680, Serial#: 6782
    public void orpd_r6782(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x56, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code orps      xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6681, Serial#: 6679
    public void orps(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0190((byte) 0x56, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code orps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code orps      xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6682, Serial#: 6688
    public void orps_r6688(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0191((byte) 0x56, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code orps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code orps      xmm0, [rbx + 18]}
     */
    // Template#: 6683, Serial#: 6678
    public void orps(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0192((byte) 0x56, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code orps      xmm0, [rbx + 18]}
     */
    // Template#: 6684, Serial#: 6687
    public void orps_r6687(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0193((byte) 0x56, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code orps      xmm0, rbx[rsi * 4]}
     */
    // Template#: 6685, Serial#: 6675
    public void orps(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0194((byte) 0x56, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code orps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code orps      xmm0, rbx[rsi * 4]}
     */
    // Template#: 6686, Serial#: 6684
    public void orps_r6684(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0195((byte) 0x56, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code orps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code orps      xmm0, [rbx]}
     */
    // Template#: 6687, Serial#: 6674
    public void orps(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0196((byte) 0x56, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code orps      xmm0, [rbx]}
     */
    // Template#: 6688, Serial#: 6683
    public void orps_r6683(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0197((byte) 0x56, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code orps      xmm0, xmm0}
     */
    // Template#: 6689, Serial#: 6682
    public void orps(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0198((byte) 0x56, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code orps      xmm0, xmm0}
     */
    // Template#: 6690, Serial#: 6691
    public void orps_r6691(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0199((byte) 0x56, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code orps      xmm0, [L1: +305419896]}
     */
    // Template#: 6691, Serial#: 6677
    public void rip_orps(AMD64XMMRegister destination, int rel32) {
        assemble0200((byte) 0x56, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code orps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code orps      xmm0, [L1: +305419896]}
     */
    // Template#: 6692, Serial#: 6686
    public void rip_orps_r6686(AMD64XMMRegister destination, int rel32) {
        assemble0201((byte) 0x56, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code orps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code orps      xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6693, Serial#: 6681
    public void orps(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0202((byte) 0x56, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code orps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code orps      xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6694, Serial#: 6690
    public void orps_r6690(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0203((byte) 0x56, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code orps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code orps      xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6695, Serial#: 6676
    public void m_orps(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0204((byte) 0x56, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code orps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code orps      xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6696, Serial#: 6685
    public void m_orps_r6685(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0205((byte) 0x56, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code orps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code orps      xmm0, [rbx + 305419896]}
     */
    // Template#: 6697, Serial#: 6680
    public void orps(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0206((byte) 0x56, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code orps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code orps      xmm0, [rbx + 305419896]}
     */
    // Template#: 6698, Serial#: 6689
    public void orps_r6689(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0207((byte) 0x56, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code out  }
     * Example disassembly syntax: {@code out       dx, al}
     */
    // Template#: 6699, Serial#: 5297
    public void out_DX_AL() {
        assemble0208((byte) 0xEE);
    }

    /**
     * Pseudo-external assembler syntax: {@code out  }
     * Example disassembly syntax: {@code out       dx, al}
     */
    // Template#: 6700, Serial#: 5298
    public void out_DX_AL_r5298() {
        assemble0209((byte) 0xEE);
    }

    /**
     * Pseudo-external assembler syntax: {@code out  }
     * Example disassembly syntax: {@code out       dx, al}
     */
    // Template#: 6701, Serial#: 5299
    public void out_DX_AL_r5299() {
        assemble0210((byte) 0xEE);
    }

    /**
     * Pseudo-external assembler syntax: {@code out  }
     * Example disassembly syntax: {@code out       dx, eax}
     */
    // Template#: 6702, Serial#: 5300
    public void out_DX_EAX() {
        assemble0208((byte) 0xEF);
    }

    /**
     * Pseudo-external assembler syntax: {@code out  }
     * Example disassembly syntax: {@code out       dx, rax}
     */
    // Template#: 6703, Serial#: 5301
    public void out_DX_RAX() {
        assemble0209((byte) 0xEF);
    }

    /**
     * Pseudo-external assembler syntax: {@code out  }
     * Example disassembly syntax: {@code out       dx, ax}
     */
    // Template#: 6704, Serial#: 5302
    public void out_DX_AX() {
        assemble0210((byte) 0xEF);
    }

    /**
     * Pseudo-external assembler syntax: {@code out  }<i>imm8</i>
     * Example disassembly syntax: {@code out       0x12, al}
     */
    // Template#: 6705, Serial#: 2657
    public void out___AL(byte imm8) {
        assemble0001((byte) 0xE6, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code out  }<i>imm8</i>
     * Example disassembly syntax: {@code out       0x12, al}
     */
    // Template#: 6706, Serial#: 2658
    public void out___AL_r2658(byte imm8) {
        assemble0002((byte) 0xE6, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code out  }<i>imm8</i>
     * Example disassembly syntax: {@code out       0x12, al}
     */
    // Template#: 6707, Serial#: 2659
    public void out___AL_r2659(byte imm8) {
        assemble0003((byte) 0xE6, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code out  }<i>imm8</i>
     * Example disassembly syntax: {@code out       0x12, eax}
     */
    // Template#: 6708, Serial#: 2660
    public void out___EAX(byte imm8) {
        assemble0001((byte) 0xE7, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code out  }<i>imm8</i>
     * Example disassembly syntax: {@code out       0x12, rax}
     */
    // Template#: 6709, Serial#: 2661
    public void out___RAX(byte imm8) {
        assemble0002((byte) 0xE7, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code out  }<i>imm8</i>
     * Example disassembly syntax: {@code out       0x12, ax}
     */
    // Template#: 6710, Serial#: 2662
    public void out___AX(byte imm8) {
        assemble0003((byte) 0xE7, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code outsb  }
     * Example disassembly syntax: {@code outsb   }
     */
    // Template#: 6711, Serial#: 3640
    public void outsb() {
        assemble0208((byte) 0x6E);
    }

    /**
     * Pseudo-external assembler syntax: {@code outsb  }
     * Example disassembly syntax: {@code outsb   }
     */
    // Template#: 6712, Serial#: 3641
    public void outsb_r3641() {
        assemble0209((byte) 0x6E);
    }

    /**
     * Pseudo-external assembler syntax: {@code outsb  }
     * Example disassembly syntax: {@code outsb   }
     */
    // Template#: 6713, Serial#: 3642
    public void outsb_r3642() {
        assemble0210((byte) 0x6E);
    }

    /**
     * Pseudo-external assembler syntax: {@code outsl  }
     * Example disassembly syntax: {@code outsl   }
     */
    // Template#: 6714, Serial#: 3643
    public void outsl() {
        assemble0208((byte) 0x6F);
    }

    /**
     * Pseudo-external assembler syntax: {@code outsw  }
     * Example disassembly syntax: {@code outsw   }
     */
    // Template#: 6715, Serial#: 3644
    public void outsw() {
        assemble0210((byte) 0x6F);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packssdw  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6716, Serial#: 10730
    public void packssdw(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x6B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packssdw  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6717, Serial#: 10739
    public void packssdw_r10739(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x6B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code packssdw  xmm0, [rbx + 18]}
     */
    // Template#: 6718, Serial#: 10729
    public void packssdw(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x6B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code packssdw  xmm0, [rbx + 18]}
     */
    // Template#: 6719, Serial#: 10738
    public void packssdw_r10738(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x6B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packssdw  xmm0, rbx[rsi * 4]}
     */
    // Template#: 6720, Serial#: 10726
    public void packssdw(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x6B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packssdw  xmm0, rbx[rsi * 4]}
     */
    // Template#: 6721, Serial#: 10735
    public void packssdw_r10735(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x6B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packssdw  xmm0, [rbx]}
     */
    // Template#: 6722, Serial#: 10725
    public void packssdw(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x6B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packssdw  xmm0, [rbx]}
     */
    // Template#: 6723, Serial#: 10734
    public void packssdw_r10734(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x6B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packssdw  xmm0, xmm0}
     */
    // Template#: 6724, Serial#: 10733
    public void packssdw(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x6B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packssdw  xmm0, xmm0}
     */
    // Template#: 6725, Serial#: 10742
    public void packssdw_r10742(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x6B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code packssdw  xmm0, [L1: +305419896]}
     */
    // Template#: 6726, Serial#: 10728
    public void rip_packssdw(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x6B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code packssdw  xmm0, [L1: +305419896]}
     */
    // Template#: 6727, Serial#: 10737
    public void rip_packssdw_r10737(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x6B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packssdw  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6728, Serial#: 10732
    public void packssdw(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x6B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packssdw  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6729, Serial#: 10741
    public void packssdw_r10741(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x6B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packssdw  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6730, Serial#: 10727
    public void m_packssdw(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x6B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packssdw  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6731, Serial#: 10736
    public void m_packssdw_r10736(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x6B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code packssdw  xmm0, [rbx + 305419896]}
     */
    // Template#: 6732, Serial#: 10731
    public void packssdw(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x6B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code packssdw  xmm0, [rbx + 305419896]}
     */
    // Template#: 6733, Serial#: 10740
    public void packssdw_r10740(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x6B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packssdw  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6734, Serial#: 10604
    public void packssdw(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0x6B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packssdw  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6735, Serial#: 10613
    public void packssdw_r10613(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0x6B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packssdw  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6736, Serial#: 10622
    public void packssdw_r10622(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0x6B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code packssdw  mm0, [rbx + 18]}
     */
    // Template#: 6737, Serial#: 10603
    public void packssdw(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0x6B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code packssdw  mm0, [rbx + 18]}
     */
    // Template#: 6738, Serial#: 10612
    public void packssdw_r10612(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0x6B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code packssdw  mm0, [rbx + 18]}
     */
    // Template#: 6739, Serial#: 10621
    public void packssdw_r10621(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0x6B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packssdw  mm0, rbx[rsi * 4]}
     */
    // Template#: 6740, Serial#: 10600
    public void packssdw(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0x6B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packssdw  mm0, rbx[rsi * 4]}
     */
    // Template#: 6741, Serial#: 10609
    public void packssdw_r10609(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0x6B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packssdw  mm0, rbx[rsi * 4]}
     */
    // Template#: 6742, Serial#: 10618
    public void packssdw_r10618(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0x6B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packssdw  mm0, [rbx]}
     */
    // Template#: 6743, Serial#: 10599
    public void packssdw(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0x6B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packssdw  mm0, [rbx]}
     */
    // Template#: 6744, Serial#: 10608
    public void packssdw_r10608(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0x6B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packssdw  mm0, [rbx]}
     */
    // Template#: 6745, Serial#: 10617
    public void packssdw_r10617(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0x6B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packssdw  mm0, mm0}
     */
    // Template#: 6746, Serial#: 10607
    public void packssdw(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0x6B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packssdw  mm0, mm0}
     */
    // Template#: 6747, Serial#: 10616
    public void packssdw_r10616(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0x6B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packssdw  mm0, mm0}
     */
    // Template#: 6748, Serial#: 10625
    public void packssdw_r10625(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0x6B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code packssdw  mm0, [L1: +305419896]}
     */
    // Template#: 6749, Serial#: 10602
    public void rip_packssdw(MMXRegister destination, int rel32) {
        assemble0525((byte) 0x6B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code packssdw  mm0, [L1: +305419896]}
     */
    // Template#: 6750, Serial#: 10611
    public void rip_packssdw_r10611(MMXRegister destination, int rel32) {
        assemble0526((byte) 0x6B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code packssdw  mm0, [L1: +305419896]}
     */
    // Template#: 6751, Serial#: 10620
    public void rip_packssdw_r10620(MMXRegister destination, int rel32) {
        assemble0951((byte) 0x6B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packssdw  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6752, Serial#: 10606
    public void packssdw(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0x6B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packssdw  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6753, Serial#: 10615
    public void packssdw_r10615(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0x6B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packssdw  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6754, Serial#: 10624
    public void packssdw_r10624(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0x6B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packssdw  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6755, Serial#: 10601
    public void m_packssdw(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0x6B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packssdw  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6756, Serial#: 10610
    public void m_packssdw_r10610(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0x6B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packssdw  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6757, Serial#: 10619
    public void m_packssdw_r10619(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0x6B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code packssdw  mm0, [rbx + 305419896]}
     */
    // Template#: 6758, Serial#: 10605
    public void packssdw(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0x6B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code packssdw  mm0, [rbx + 305419896]}
     */
    // Template#: 6759, Serial#: 10614
    public void packssdw_r10614(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0x6B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packssdw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code packssdw  mm0, [rbx + 305419896]}
     */
    // Template#: 6760, Serial#: 10623
    public void packssdw_r10623(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0x6B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packsswb  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6761, Serial#: 7150
    public void packsswb(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x63, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packsswb  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6762, Serial#: 7159
    public void packsswb_r7159(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x63, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code packsswb  xmm0, [rbx + 18]}
     */
    // Template#: 6763, Serial#: 7149
    public void packsswb(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x63, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code packsswb  xmm0, [rbx + 18]}
     */
    // Template#: 6764, Serial#: 7158
    public void packsswb_r7158(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x63, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packsswb  xmm0, rbx[rsi * 4]}
     */
    // Template#: 6765, Serial#: 7146
    public void packsswb(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x63, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packsswb  xmm0, rbx[rsi * 4]}
     */
    // Template#: 6766, Serial#: 7155
    public void packsswb_r7155(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x63, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packsswb  xmm0, [rbx]}
     */
    // Template#: 6767, Serial#: 7145
    public void packsswb(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x63, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packsswb  xmm0, [rbx]}
     */
    // Template#: 6768, Serial#: 7154
    public void packsswb_r7154(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x63, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packsswb  xmm0, xmm0}
     */
    // Template#: 6769, Serial#: 7153
    public void packsswb(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x63, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packsswb  xmm0, xmm0}
     */
    // Template#: 6770, Serial#: 7162
    public void packsswb_r7162(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x63, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code packsswb  xmm0, [L1: +305419896]}
     */
    // Template#: 6771, Serial#: 7148
    public void rip_packsswb(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x63, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code packsswb  xmm0, [L1: +305419896]}
     */
    // Template#: 6772, Serial#: 7157
    public void rip_packsswb_r7157(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x63, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packsswb  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6773, Serial#: 7152
    public void packsswb(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x63, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packsswb  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6774, Serial#: 7161
    public void packsswb_r7161(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x63, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packsswb  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6775, Serial#: 7147
    public void m_packsswb(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x63, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packsswb  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6776, Serial#: 7156
    public void m_packsswb_r7156(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x63, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code packsswb  xmm0, [rbx + 305419896]}
     */
    // Template#: 6777, Serial#: 7151
    public void packsswb(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x63, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code packsswb  xmm0, [rbx + 305419896]}
     */
    // Template#: 6778, Serial#: 7160
    public void packsswb_r7160(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x63, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packsswb  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6779, Serial#: 6961
    public void packsswb(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0x63, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packsswb  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6780, Serial#: 6970
    public void packsswb_r6970(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0x63, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packsswb  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6781, Serial#: 6979
    public void packsswb_r6979(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0x63, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code packsswb  mm0, [rbx + 18]}
     */
    // Template#: 6782, Serial#: 6960
    public void packsswb(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0x63, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code packsswb  mm0, [rbx + 18]}
     */
    // Template#: 6783, Serial#: 6969
    public void packsswb_r6969(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0x63, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code packsswb  mm0, [rbx + 18]}
     */
    // Template#: 6784, Serial#: 6978
    public void packsswb_r6978(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0x63, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packsswb  mm0, rbx[rsi * 4]}
     */
    // Template#: 6785, Serial#: 6957
    public void packsswb(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0x63, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packsswb  mm0, rbx[rsi * 4]}
     */
    // Template#: 6786, Serial#: 6966
    public void packsswb_r6966(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0x63, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packsswb  mm0, rbx[rsi * 4]}
     */
    // Template#: 6787, Serial#: 6975
    public void packsswb_r6975(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0x63, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packsswb  mm0, [rbx]}
     */
    // Template#: 6788, Serial#: 6956
    public void packsswb(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0x63, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packsswb  mm0, [rbx]}
     */
    // Template#: 6789, Serial#: 6965
    public void packsswb_r6965(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0x63, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packsswb  mm0, [rbx]}
     */
    // Template#: 6790, Serial#: 6974
    public void packsswb_r6974(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0x63, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packsswb  mm0, mm0}
     */
    // Template#: 6791, Serial#: 6964
    public void packsswb(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0x63, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packsswb  mm0, mm0}
     */
    // Template#: 6792, Serial#: 6973
    public void packsswb_r6973(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0x63, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packsswb  mm0, mm0}
     */
    // Template#: 6793, Serial#: 6982
    public void packsswb_r6982(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0x63, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code packsswb  mm0, [L1: +305419896]}
     */
    // Template#: 6794, Serial#: 6959
    public void rip_packsswb(MMXRegister destination, int rel32) {
        assemble0525((byte) 0x63, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code packsswb  mm0, [L1: +305419896]}
     */
    // Template#: 6795, Serial#: 6968
    public void rip_packsswb_r6968(MMXRegister destination, int rel32) {
        assemble0526((byte) 0x63, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code packsswb  mm0, [L1: +305419896]}
     */
    // Template#: 6796, Serial#: 6977
    public void rip_packsswb_r6977(MMXRegister destination, int rel32) {
        assemble0951((byte) 0x63, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packsswb  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6797, Serial#: 6963
    public void packsswb(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0x63, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packsswb  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6798, Serial#: 6972
    public void packsswb_r6972(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0x63, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packsswb  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6799, Serial#: 6981
    public void packsswb_r6981(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0x63, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packsswb  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6800, Serial#: 6958
    public void m_packsswb(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0x63, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packsswb  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6801, Serial#: 6967
    public void m_packsswb_r6967(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0x63, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packsswb  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6802, Serial#: 6976
    public void m_packsswb_r6976(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0x63, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code packsswb  mm0, [rbx + 305419896]}
     */
    // Template#: 6803, Serial#: 6962
    public void packsswb(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0x63, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code packsswb  mm0, [rbx + 305419896]}
     */
    // Template#: 6804, Serial#: 6971
    public void packsswb_r6971(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0x63, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packsswb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code packsswb  mm0, [rbx + 305419896]}
     */
    // Template#: 6805, Serial#: 6980
    public void packsswb_r6980(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0x63, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packuswb  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6806, Serial#: 7222
    public void packuswb(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x67, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packuswb  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6807, Serial#: 7231
    public void packuswb_r7231(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x67, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code packuswb  xmm0, [rbx + 18]}
     */
    // Template#: 6808, Serial#: 7221
    public void packuswb(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x67, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code packuswb  xmm0, [rbx + 18]}
     */
    // Template#: 6809, Serial#: 7230
    public void packuswb_r7230(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x67, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packuswb  xmm0, rbx[rsi * 4]}
     */
    // Template#: 6810, Serial#: 7218
    public void packuswb(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x67, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packuswb  xmm0, rbx[rsi * 4]}
     */
    // Template#: 6811, Serial#: 7227
    public void packuswb_r7227(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x67, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packuswb  xmm0, [rbx]}
     */
    // Template#: 6812, Serial#: 7217
    public void packuswb(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x67, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packuswb  xmm0, [rbx]}
     */
    // Template#: 6813, Serial#: 7226
    public void packuswb_r7226(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x67, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packuswb  xmm0, xmm0}
     */
    // Template#: 6814, Serial#: 7225
    public void packuswb(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x67, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packuswb  xmm0, xmm0}
     */
    // Template#: 6815, Serial#: 7234
    public void packuswb_r7234(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x67, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code packuswb  xmm0, [L1: +305419896]}
     */
    // Template#: 6816, Serial#: 7220
    public void rip_packuswb(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x67, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code packuswb  xmm0, [L1: +305419896]}
     */
    // Template#: 6817, Serial#: 7229
    public void rip_packuswb_r7229(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x67, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packuswb  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6818, Serial#: 7224
    public void packuswb(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x67, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packuswb  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6819, Serial#: 7233
    public void packuswb_r7233(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x67, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packuswb  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6820, Serial#: 7219
    public void m_packuswb(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x67, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packuswb  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6821, Serial#: 7228
    public void m_packuswb_r7228(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x67, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code packuswb  xmm0, [rbx + 305419896]}
     */
    // Template#: 6822, Serial#: 7223
    public void packuswb(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x67, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code packuswb  xmm0, [rbx + 305419896]}
     */
    // Template#: 6823, Serial#: 7232
    public void packuswb_r7232(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x67, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packuswb  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6824, Serial#: 7069
    public void packuswb(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0x67, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packuswb  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6825, Serial#: 7078
    public void packuswb_r7078(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0x67, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packuswb  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6826, Serial#: 7087
    public void packuswb_r7087(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0x67, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code packuswb  mm0, [rbx + 18]}
     */
    // Template#: 6827, Serial#: 7068
    public void packuswb(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0x67, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code packuswb  mm0, [rbx + 18]}
     */
    // Template#: 6828, Serial#: 7077
    public void packuswb_r7077(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0x67, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code packuswb  mm0, [rbx + 18]}
     */
    // Template#: 6829, Serial#: 7086
    public void packuswb_r7086(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0x67, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packuswb  mm0, rbx[rsi * 4]}
     */
    // Template#: 6830, Serial#: 7065
    public void packuswb(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0x67, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packuswb  mm0, rbx[rsi * 4]}
     */
    // Template#: 6831, Serial#: 7074
    public void packuswb_r7074(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0x67, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packuswb  mm0, rbx[rsi * 4]}
     */
    // Template#: 6832, Serial#: 7083
    public void packuswb_r7083(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0x67, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packuswb  mm0, [rbx]}
     */
    // Template#: 6833, Serial#: 7064
    public void packuswb(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0x67, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packuswb  mm0, [rbx]}
     */
    // Template#: 6834, Serial#: 7073
    public void packuswb_r7073(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0x67, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packuswb  mm0, [rbx]}
     */
    // Template#: 6835, Serial#: 7082
    public void packuswb_r7082(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0x67, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packuswb  mm0, mm0}
     */
    // Template#: 6836, Serial#: 7072
    public void packuswb(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0x67, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packuswb  mm0, mm0}
     */
    // Template#: 6837, Serial#: 7081
    public void packuswb_r7081(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0x67, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code packuswb  mm0, mm0}
     */
    // Template#: 6838, Serial#: 7090
    public void packuswb_r7090(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0x67, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code packuswb  mm0, [L1: +305419896]}
     */
    // Template#: 6839, Serial#: 7067
    public void rip_packuswb(MMXRegister destination, int rel32) {
        assemble0525((byte) 0x67, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code packuswb  mm0, [L1: +305419896]}
     */
    // Template#: 6840, Serial#: 7076
    public void rip_packuswb_r7076(MMXRegister destination, int rel32) {
        assemble0526((byte) 0x67, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code packuswb  mm0, [L1: +305419896]}
     */
    // Template#: 6841, Serial#: 7085
    public void rip_packuswb_r7085(MMXRegister destination, int rel32) {
        assemble0951((byte) 0x67, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packuswb  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6842, Serial#: 7071
    public void packuswb(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0x67, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packuswb  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6843, Serial#: 7080
    public void packuswb_r7080(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0x67, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packuswb  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6844, Serial#: 7089
    public void packuswb_r7089(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0x67, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packuswb  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6845, Serial#: 7066
    public void m_packuswb(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0x67, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packuswb  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6846, Serial#: 7075
    public void m_packuswb_r7075(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0x67, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code packuswb  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6847, Serial#: 7084
    public void m_packuswb_r7084(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0x67, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code packuswb  mm0, [rbx + 305419896]}
     */
    // Template#: 6848, Serial#: 7070
    public void packuswb(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0x67, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code packuswb  mm0, [rbx + 305419896]}
     */
    // Template#: 6849, Serial#: 7079
    public void packuswb_r7079(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0x67, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code packuswb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code packuswb  mm0, [rbx + 305419896]}
     */
    // Template#: 6850, Serial#: 7088
    public void packuswb_r7088(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0x67, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddb     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6851, Serial#: 12712
    public void paddb(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xFC, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddb     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6852, Serial#: 12721
    public void paddb_r12721(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xFC, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddb     xmm0, [rbx + 18]}
     */
    // Template#: 6853, Serial#: 12711
    public void paddb(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xFC, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddb     xmm0, [rbx + 18]}
     */
    // Template#: 6854, Serial#: 12720
    public void paddb_r12720(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xFC, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddb     xmm0, rbx[rsi * 4]}
     */
    // Template#: 6855, Serial#: 12708
    public void paddb(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xFC, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddb     xmm0, rbx[rsi * 4]}
     */
    // Template#: 6856, Serial#: 12717
    public void paddb_r12717(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xFC, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddb     xmm0, [rbx]}
     */
    // Template#: 6857, Serial#: 12707
    public void paddb(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xFC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddb     xmm0, [rbx]}
     */
    // Template#: 6858, Serial#: 12716
    public void paddb_r12716(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xFC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddb     xmm0, xmm0}
     */
    // Template#: 6859, Serial#: 12715
    public void paddb(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xFC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddb     xmm0, xmm0}
     */
    // Template#: 6860, Serial#: 12724
    public void paddb_r12724(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xFC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddb     xmm0, [L1: +305419896]}
     */
    // Template#: 6861, Serial#: 12710
    public void rip_paddb(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xFC, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddb     xmm0, [L1: +305419896]}
     */
    // Template#: 6862, Serial#: 12719
    public void rip_paddb_r12719(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xFC, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddb     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6863, Serial#: 12714
    public void paddb(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xFC, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddb     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6864, Serial#: 12723
    public void paddb_r12723(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xFC, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddb     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6865, Serial#: 12709
    public void m_paddb(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xFC, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddb     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6866, Serial#: 12718
    public void m_paddb_r12718(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xFC, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddb     xmm0, [rbx + 305419896]}
     */
    // Template#: 6867, Serial#: 12713
    public void paddb(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xFC, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddb     xmm0, [rbx + 305419896]}
     */
    // Template#: 6868, Serial#: 12722
    public void paddb_r12722(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xFC, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddb     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6869, Serial#: 12559
    public void paddb(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xFC, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddb     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6870, Serial#: 12568
    public void paddb_r12568(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xFC, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddb     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6871, Serial#: 12577
    public void paddb_r12577(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xFC, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddb     mm0, [rbx + 18]}
     */
    // Template#: 6872, Serial#: 12558
    public void paddb(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xFC, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddb     mm0, [rbx + 18]}
     */
    // Template#: 6873, Serial#: 12567
    public void paddb_r12567(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xFC, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddb     mm0, [rbx + 18]}
     */
    // Template#: 6874, Serial#: 12576
    public void paddb_r12576(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xFC, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddb     mm0, rbx[rsi * 4]}
     */
    // Template#: 6875, Serial#: 12555
    public void paddb(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xFC, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddb     mm0, rbx[rsi * 4]}
     */
    // Template#: 6876, Serial#: 12564
    public void paddb_r12564(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xFC, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddb     mm0, rbx[rsi * 4]}
     */
    // Template#: 6877, Serial#: 12573
    public void paddb_r12573(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xFC, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddb     mm0, [rbx]}
     */
    // Template#: 6878, Serial#: 12554
    public void paddb(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xFC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddb     mm0, [rbx]}
     */
    // Template#: 6879, Serial#: 12563
    public void paddb_r12563(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xFC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddb     mm0, [rbx]}
     */
    // Template#: 6880, Serial#: 12572
    public void paddb_r12572(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xFC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddb     mm0, mm0}
     */
    // Template#: 6881, Serial#: 12562
    public void paddb(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xFC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddb     mm0, mm0}
     */
    // Template#: 6882, Serial#: 12571
    public void paddb_r12571(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xFC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddb     mm0, mm0}
     */
    // Template#: 6883, Serial#: 12580
    public void paddb_r12580(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xFC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddb     mm0, [L1: +305419896]}
     */
    // Template#: 6884, Serial#: 12557
    public void rip_paddb(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xFC, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddb     mm0, [L1: +305419896]}
     */
    // Template#: 6885, Serial#: 12566
    public void rip_paddb_r12566(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xFC, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddb     mm0, [L1: +305419896]}
     */
    // Template#: 6886, Serial#: 12575
    public void rip_paddb_r12575(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xFC, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddb     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6887, Serial#: 12561
    public void paddb(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xFC, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddb     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6888, Serial#: 12570
    public void paddb_r12570(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xFC, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddb     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6889, Serial#: 12579
    public void paddb_r12579(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xFC, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddb     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6890, Serial#: 12556
    public void m_paddb(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xFC, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddb     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6891, Serial#: 12565
    public void m_paddb_r12565(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xFC, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddb     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6892, Serial#: 12574
    public void m_paddb_r12574(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xFC, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddb     mm0, [rbx + 305419896]}
     */
    // Template#: 6893, Serial#: 12560
    public void paddb(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xFC, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddb     mm0, [rbx + 305419896]}
     */
    // Template#: 6894, Serial#: 12569
    public void paddb_r12569(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xFC, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddb     mm0, [rbx + 305419896]}
     */
    // Template#: 6895, Serial#: 12578
    public void paddb_r12578(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xFC, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6896, Serial#: 12748
    public void paddd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xFE, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6897, Serial#: 12757
    public void paddd_r12757(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xFE, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddd     xmm0, [rbx + 18]}
     */
    // Template#: 6898, Serial#: 12747
    public void paddd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xFE, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddd     xmm0, [rbx + 18]}
     */
    // Template#: 6899, Serial#: 12756
    public void paddd_r12756(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xFE, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 6900, Serial#: 12744
    public void paddd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xFE, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 6901, Serial#: 12753
    public void paddd_r12753(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xFE, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddd     xmm0, [rbx]}
     */
    // Template#: 6902, Serial#: 12743
    public void paddd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xFE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddd     xmm0, [rbx]}
     */
    // Template#: 6903, Serial#: 12752
    public void paddd_r12752(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xFE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddd     xmm0, xmm0}
     */
    // Template#: 6904, Serial#: 12751
    public void paddd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xFE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddd     xmm0, xmm0}
     */
    // Template#: 6905, Serial#: 12760
    public void paddd_r12760(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xFE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddd     xmm0, [L1: +305419896]}
     */
    // Template#: 6906, Serial#: 12746
    public void rip_paddd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xFE, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddd     xmm0, [L1: +305419896]}
     */
    // Template#: 6907, Serial#: 12755
    public void rip_paddd_r12755(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xFE, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6908, Serial#: 12750
    public void paddd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xFE, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6909, Serial#: 12759
    public void paddd_r12759(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xFE, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6910, Serial#: 12745
    public void m_paddd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xFE, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6911, Serial#: 12754
    public void m_paddd_r12754(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xFE, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddd     xmm0, [rbx + 305419896]}
     */
    // Template#: 6912, Serial#: 12749
    public void paddd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xFE, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddd     xmm0, [rbx + 305419896]}
     */
    // Template#: 6913, Serial#: 12758
    public void paddd_r12758(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xFE, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddd     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6914, Serial#: 12613
    public void paddd(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xFE, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddd     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6915, Serial#: 12622
    public void paddd_r12622(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xFE, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddd     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6916, Serial#: 12631
    public void paddd_r12631(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xFE, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddd     mm0, [rbx + 18]}
     */
    // Template#: 6917, Serial#: 12612
    public void paddd(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xFE, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddd     mm0, [rbx + 18]}
     */
    // Template#: 6918, Serial#: 12621
    public void paddd_r12621(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xFE, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddd     mm0, [rbx + 18]}
     */
    // Template#: 6919, Serial#: 12630
    public void paddd_r12630(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xFE, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddd     mm0, rbx[rsi * 4]}
     */
    // Template#: 6920, Serial#: 12609
    public void paddd(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xFE, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddd     mm0, rbx[rsi * 4]}
     */
    // Template#: 6921, Serial#: 12618
    public void paddd_r12618(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xFE, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddd     mm0, rbx[rsi * 4]}
     */
    // Template#: 6922, Serial#: 12627
    public void paddd_r12627(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xFE, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddd     mm0, [rbx]}
     */
    // Template#: 6923, Serial#: 12608
    public void paddd(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xFE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddd     mm0, [rbx]}
     */
    // Template#: 6924, Serial#: 12617
    public void paddd_r12617(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xFE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddd     mm0, [rbx]}
     */
    // Template#: 6925, Serial#: 12626
    public void paddd_r12626(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xFE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddd     mm0, mm0}
     */
    // Template#: 6926, Serial#: 12616
    public void paddd(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xFE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddd     mm0, mm0}
     */
    // Template#: 6927, Serial#: 12625
    public void paddd_r12625(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xFE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddd     mm0, mm0}
     */
    // Template#: 6928, Serial#: 12634
    public void paddd_r12634(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xFE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddd     mm0, [L1: +305419896]}
     */
    // Template#: 6929, Serial#: 12611
    public void rip_paddd(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xFE, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddd     mm0, [L1: +305419896]}
     */
    // Template#: 6930, Serial#: 12620
    public void rip_paddd_r12620(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xFE, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddd     mm0, [L1: +305419896]}
     */
    // Template#: 6931, Serial#: 12629
    public void rip_paddd_r12629(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xFE, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddd     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6932, Serial#: 12615
    public void paddd(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xFE, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddd     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6933, Serial#: 12624
    public void paddd_r12624(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xFE, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddd     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6934, Serial#: 12633
    public void paddd_r12633(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xFE, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddd     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6935, Serial#: 12610
    public void m_paddd(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xFE, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddd     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6936, Serial#: 12619
    public void m_paddd_r12619(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xFE, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddd     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6937, Serial#: 12628
    public void m_paddd_r12628(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xFE, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddd     mm0, [rbx + 305419896]}
     */
    // Template#: 6938, Serial#: 12614
    public void paddd(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xFE, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddd     mm0, [rbx + 305419896]}
     */
    // Template#: 6939, Serial#: 12623
    public void paddd_r12623(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xFE, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddd     mm0, [rbx + 305419896]}
     */
    // Template#: 6940, Serial#: 12632
    public void paddd_r12632(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xFE, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddq     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6941, Serial#: 8387
    public void paddq(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xD4, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddq     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6942, Serial#: 8396
    public void paddq_r8396(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xD4, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddq     xmm0, [rbx + 18]}
     */
    // Template#: 6943, Serial#: 8386
    public void paddq(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xD4, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddq     xmm0, [rbx + 18]}
     */
    // Template#: 6944, Serial#: 8395
    public void paddq_r8395(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xD4, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddq     xmm0, rbx[rsi * 4]}
     */
    // Template#: 6945, Serial#: 8383
    public void paddq(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xD4, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddq     xmm0, rbx[rsi * 4]}
     */
    // Template#: 6946, Serial#: 8392
    public void paddq_r8392(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xD4, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddq     xmm0, [rbx]}
     */
    // Template#: 6947, Serial#: 8382
    public void paddq(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xD4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddq     xmm0, [rbx]}
     */
    // Template#: 6948, Serial#: 8391
    public void paddq_r8391(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xD4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddq     xmm0, xmm0}
     */
    // Template#: 6949, Serial#: 8390
    public void paddq(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xD4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddq     xmm0, xmm0}
     */
    // Template#: 6950, Serial#: 8399
    public void paddq_r8399(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xD4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddq     xmm0, [L1: +305419896]}
     */
    // Template#: 6951, Serial#: 8385
    public void rip_paddq(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xD4, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddq     xmm0, [L1: +305419896]}
     */
    // Template#: 6952, Serial#: 8394
    public void rip_paddq_r8394(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xD4, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddq     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6953, Serial#: 8389
    public void paddq(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xD4, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddq     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6954, Serial#: 8398
    public void paddq_r8398(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xD4, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddq     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6955, Serial#: 8384
    public void m_paddq(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xD4, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddq     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6956, Serial#: 8393
    public void m_paddq_r8393(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xD4, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddq     xmm0, [rbx + 305419896]}
     */
    // Template#: 6957, Serial#: 8388
    public void paddq(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xD4, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddq     xmm0, [rbx + 305419896]}
     */
    // Template#: 6958, Serial#: 8397
    public void paddq_r8397(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xD4, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddq     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6959, Serial#: 8258
    public void paddq(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xD4, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddq     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6960, Serial#: 8267
    public void paddq_r8267(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xD4, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddq     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6961, Serial#: 8276
    public void paddq_r8276(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xD4, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddq     mm0, [rbx + 18]}
     */
    // Template#: 6962, Serial#: 8257
    public void paddq(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xD4, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddq     mm0, [rbx + 18]}
     */
    // Template#: 6963, Serial#: 8266
    public void paddq_r8266(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xD4, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddq     mm0, [rbx + 18]}
     */
    // Template#: 6964, Serial#: 8275
    public void paddq_r8275(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xD4, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddq     mm0, rbx[rsi * 4]}
     */
    // Template#: 6965, Serial#: 8254
    public void paddq(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xD4, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddq     mm0, rbx[rsi * 4]}
     */
    // Template#: 6966, Serial#: 8263
    public void paddq_r8263(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xD4, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddq     mm0, rbx[rsi * 4]}
     */
    // Template#: 6967, Serial#: 8272
    public void paddq_r8272(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xD4, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddq     mm0, [rbx]}
     */
    // Template#: 6968, Serial#: 8253
    public void paddq(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xD4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddq     mm0, [rbx]}
     */
    // Template#: 6969, Serial#: 8262
    public void paddq_r8262(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xD4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddq     mm0, [rbx]}
     */
    // Template#: 6970, Serial#: 8271
    public void paddq_r8271(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xD4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddq     mm0, mm0}
     */
    // Template#: 6971, Serial#: 8261
    public void paddq(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xD4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddq     mm0, mm0}
     */
    // Template#: 6972, Serial#: 8270
    public void paddq_r8270(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xD4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddq     mm0, mm0}
     */
    // Template#: 6973, Serial#: 8279
    public void paddq_r8279(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xD4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddq     mm0, [L1: +305419896]}
     */
    // Template#: 6974, Serial#: 8256
    public void rip_paddq(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xD4, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddq     mm0, [L1: +305419896]}
     */
    // Template#: 6975, Serial#: 8265
    public void rip_paddq_r8265(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xD4, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddq     mm0, [L1: +305419896]}
     */
    // Template#: 6976, Serial#: 8274
    public void rip_paddq_r8274(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xD4, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddq     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6977, Serial#: 8260
    public void paddq(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xD4, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddq     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6978, Serial#: 8269
    public void paddq_r8269(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xD4, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddq     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6979, Serial#: 8278
    public void paddq_r8278(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xD4, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddq     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6980, Serial#: 8255
    public void m_paddq(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xD4, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddq     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6981, Serial#: 8264
    public void m_paddq_r8264(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xD4, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddq     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 6982, Serial#: 8273
    public void m_paddq_r8273(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xD4, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddq     mm0, [rbx + 305419896]}
     */
    // Template#: 6983, Serial#: 8259
    public void paddq(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xD4, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddq     mm0, [rbx + 305419896]}
     */
    // Template#: 6984, Serial#: 8268
    public void paddq_r8268(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xD4, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddq     mm0, [rbx + 305419896]}
     */
    // Template#: 6985, Serial#: 8277
    public void paddq_r8277(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xD4, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsb    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6986, Serial#: 12379
    public void paddsb(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xEC, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsb    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 6987, Serial#: 12388
    public void paddsb_r12388(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xEC, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsb    xmm0, [rbx + 18]}
     */
    // Template#: 6988, Serial#: 12378
    public void paddsb(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xEC, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsb    xmm0, [rbx + 18]}
     */
    // Template#: 6989, Serial#: 12387
    public void paddsb_r12387(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xEC, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsb    xmm0, rbx[rsi * 4]}
     */
    // Template#: 6990, Serial#: 12375
    public void paddsb(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xEC, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsb    xmm0, rbx[rsi * 4]}
     */
    // Template#: 6991, Serial#: 12384
    public void paddsb_r12384(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xEC, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsb    xmm0, [rbx]}
     */
    // Template#: 6992, Serial#: 12374
    public void paddsb(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xEC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsb    xmm0, [rbx]}
     */
    // Template#: 6993, Serial#: 12383
    public void paddsb_r12383(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xEC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsb    xmm0, xmm0}
     */
    // Template#: 6994, Serial#: 12382
    public void paddsb(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xEC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsb    xmm0, xmm0}
     */
    // Template#: 6995, Serial#: 12391
    public void paddsb_r12391(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xEC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddsb    xmm0, [L1: +305419896]}
     */
    // Template#: 6996, Serial#: 12377
    public void rip_paddsb(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xEC, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddsb    xmm0, [L1: +305419896]}
     */
    // Template#: 6997, Serial#: 12386
    public void rip_paddsb_r12386(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xEC, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsb    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6998, Serial#: 12381
    public void paddsb(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xEC, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsb    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 6999, Serial#: 12390
    public void paddsb_r12390(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xEC, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsb    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7000, Serial#: 12376
    public void m_paddsb(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xEC, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsb    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7001, Serial#: 12385
    public void m_paddsb_r12385(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xEC, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsb    xmm0, [rbx + 305419896]}
     */
    // Template#: 7002, Serial#: 12380
    public void paddsb(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xEC, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsb    xmm0, [rbx + 305419896]}
     */
    // Template#: 7003, Serial#: 12389
    public void paddsb_r12389(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xEC, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsb    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7004, Serial#: 12199
    public void paddsb(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xEC, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsb    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7005, Serial#: 12208
    public void paddsb_r12208(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xEC, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsb    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7006, Serial#: 12217
    public void paddsb_r12217(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xEC, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsb    mm0, [rbx + 18]}
     */
    // Template#: 7007, Serial#: 12198
    public void paddsb(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xEC, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsb    mm0, [rbx + 18]}
     */
    // Template#: 7008, Serial#: 12207
    public void paddsb_r12207(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xEC, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsb    mm0, [rbx + 18]}
     */
    // Template#: 7009, Serial#: 12216
    public void paddsb_r12216(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xEC, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsb    mm0, rbx[rsi * 4]}
     */
    // Template#: 7010, Serial#: 12195
    public void paddsb(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xEC, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsb    mm0, rbx[rsi * 4]}
     */
    // Template#: 7011, Serial#: 12204
    public void paddsb_r12204(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xEC, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsb    mm0, rbx[rsi * 4]}
     */
    // Template#: 7012, Serial#: 12213
    public void paddsb_r12213(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xEC, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsb    mm0, [rbx]}
     */
    // Template#: 7013, Serial#: 12194
    public void paddsb(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xEC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsb    mm0, [rbx]}
     */
    // Template#: 7014, Serial#: 12203
    public void paddsb_r12203(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xEC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsb    mm0, [rbx]}
     */
    // Template#: 7015, Serial#: 12212
    public void paddsb_r12212(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xEC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsb    mm0, mm0}
     */
    // Template#: 7016, Serial#: 12202
    public void paddsb(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xEC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsb    mm0, mm0}
     */
    // Template#: 7017, Serial#: 12211
    public void paddsb_r12211(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xEC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsb    mm0, mm0}
     */
    // Template#: 7018, Serial#: 12220
    public void paddsb_r12220(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xEC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddsb    mm0, [L1: +305419896]}
     */
    // Template#: 7019, Serial#: 12197
    public void rip_paddsb(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xEC, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddsb    mm0, [L1: +305419896]}
     */
    // Template#: 7020, Serial#: 12206
    public void rip_paddsb_r12206(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xEC, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddsb    mm0, [L1: +305419896]}
     */
    // Template#: 7021, Serial#: 12215
    public void rip_paddsb_r12215(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xEC, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsb    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7022, Serial#: 12201
    public void paddsb(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xEC, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsb    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7023, Serial#: 12210
    public void paddsb_r12210(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xEC, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsb    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7024, Serial#: 12219
    public void paddsb_r12219(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xEC, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsb    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7025, Serial#: 12196
    public void m_paddsb(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xEC, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsb    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7026, Serial#: 12205
    public void m_paddsb_r12205(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xEC, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsb    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7027, Serial#: 12214
    public void m_paddsb_r12214(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xEC, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsb    mm0, [rbx + 305419896]}
     */
    // Template#: 7028, Serial#: 12200
    public void paddsb(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xEC, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsb    mm0, [rbx + 305419896]}
     */
    // Template#: 7029, Serial#: 12209
    public void paddsb_r12209(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xEC, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsb    mm0, [rbx + 305419896]}
     */
    // Template#: 7030, Serial#: 12218
    public void paddsb_r12218(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xEC, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsw    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7031, Serial#: 12397
    public void paddsw(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xED, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsw    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7032, Serial#: 12406
    public void paddsw_r12406(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xED, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsw    xmm0, [rbx + 18]}
     */
    // Template#: 7033, Serial#: 12396
    public void paddsw(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xED, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsw    xmm0, [rbx + 18]}
     */
    // Template#: 7034, Serial#: 12405
    public void paddsw_r12405(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xED, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsw    xmm0, rbx[rsi * 4]}
     */
    // Template#: 7035, Serial#: 12393
    public void paddsw(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xED, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsw    xmm0, rbx[rsi * 4]}
     */
    // Template#: 7036, Serial#: 12402
    public void paddsw_r12402(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xED, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsw    xmm0, [rbx]}
     */
    // Template#: 7037, Serial#: 12392
    public void paddsw(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xED, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsw    xmm0, [rbx]}
     */
    // Template#: 7038, Serial#: 12401
    public void paddsw_r12401(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xED, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsw    xmm0, xmm0}
     */
    // Template#: 7039, Serial#: 12400
    public void paddsw(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xED, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsw    xmm0, xmm0}
     */
    // Template#: 7040, Serial#: 12409
    public void paddsw_r12409(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xED, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddsw    xmm0, [L1: +305419896]}
     */
    // Template#: 7041, Serial#: 12395
    public void rip_paddsw(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xED, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddsw    xmm0, [L1: +305419896]}
     */
    // Template#: 7042, Serial#: 12404
    public void rip_paddsw_r12404(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xED, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsw    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7043, Serial#: 12399
    public void paddsw(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xED, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsw    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7044, Serial#: 12408
    public void paddsw_r12408(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xED, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsw    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7045, Serial#: 12394
    public void m_paddsw(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xED, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsw    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7046, Serial#: 12403
    public void m_paddsw_r12403(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xED, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsw    xmm0, [rbx + 305419896]}
     */
    // Template#: 7047, Serial#: 12398
    public void paddsw(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xED, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsw    xmm0, [rbx + 305419896]}
     */
    // Template#: 7048, Serial#: 12407
    public void paddsw_r12407(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xED, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsw    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7049, Serial#: 12226
    public void paddsw(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xED, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsw    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7050, Serial#: 12235
    public void paddsw_r12235(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xED, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsw    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7051, Serial#: 12244
    public void paddsw_r12244(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xED, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsw    mm0, [rbx + 18]}
     */
    // Template#: 7052, Serial#: 12225
    public void paddsw(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xED, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsw    mm0, [rbx + 18]}
     */
    // Template#: 7053, Serial#: 12234
    public void paddsw_r12234(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xED, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsw    mm0, [rbx + 18]}
     */
    // Template#: 7054, Serial#: 12243
    public void paddsw_r12243(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xED, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsw    mm0, rbx[rsi * 4]}
     */
    // Template#: 7055, Serial#: 12222
    public void paddsw(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xED, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsw    mm0, rbx[rsi * 4]}
     */
    // Template#: 7056, Serial#: 12231
    public void paddsw_r12231(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xED, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsw    mm0, rbx[rsi * 4]}
     */
    // Template#: 7057, Serial#: 12240
    public void paddsw_r12240(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xED, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsw    mm0, [rbx]}
     */
    // Template#: 7058, Serial#: 12221
    public void paddsw(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xED, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsw    mm0, [rbx]}
     */
    // Template#: 7059, Serial#: 12230
    public void paddsw_r12230(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xED, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsw    mm0, [rbx]}
     */
    // Template#: 7060, Serial#: 12239
    public void paddsw_r12239(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xED, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsw    mm0, mm0}
     */
    // Template#: 7061, Serial#: 12229
    public void paddsw(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xED, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsw    mm0, mm0}
     */
    // Template#: 7062, Serial#: 12238
    public void paddsw_r12238(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xED, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsw    mm0, mm0}
     */
    // Template#: 7063, Serial#: 12247
    public void paddsw_r12247(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xED, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddsw    mm0, [L1: +305419896]}
     */
    // Template#: 7064, Serial#: 12224
    public void rip_paddsw(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xED, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddsw    mm0, [L1: +305419896]}
     */
    // Template#: 7065, Serial#: 12233
    public void rip_paddsw_r12233(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xED, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddsw    mm0, [L1: +305419896]}
     */
    // Template#: 7066, Serial#: 12242
    public void rip_paddsw_r12242(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xED, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsw    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7067, Serial#: 12228
    public void paddsw(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xED, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsw    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7068, Serial#: 12237
    public void paddsw_r12237(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xED, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsw    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7069, Serial#: 12246
    public void paddsw_r12246(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xED, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsw    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7070, Serial#: 12223
    public void m_paddsw(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xED, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsw    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7071, Serial#: 12232
    public void m_paddsw_r12232(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xED, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddsw    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7072, Serial#: 12241
    public void m_paddsw_r12241(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xED, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsw    mm0, [rbx + 305419896]}
     */
    // Template#: 7073, Serial#: 12227
    public void paddsw(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xED, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsw    mm0, [rbx + 305419896]}
     */
    // Template#: 7074, Serial#: 12236
    public void paddsw_r12236(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xED, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddsw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddsw    mm0, [rbx + 305419896]}
     */
    // Template#: 7075, Serial#: 12245
    public void paddsw_r12245(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xED, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusb   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7076, Serial#: 12019
    public void paddusb(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xDC, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusb   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7077, Serial#: 12028
    public void paddusb_r12028(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xDC, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusb   xmm0, [rbx + 18]}
     */
    // Template#: 7078, Serial#: 12018
    public void paddusb(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xDC, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusb   xmm0, [rbx + 18]}
     */
    // Template#: 7079, Serial#: 12027
    public void paddusb_r12027(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xDC, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusb   xmm0, rbx[rsi * 4]}
     */
    // Template#: 7080, Serial#: 12015
    public void paddusb(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xDC, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusb   xmm0, rbx[rsi * 4]}
     */
    // Template#: 7081, Serial#: 12024
    public void paddusb_r12024(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xDC, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusb   xmm0, [rbx]}
     */
    // Template#: 7082, Serial#: 12014
    public void paddusb(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xDC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusb   xmm0, [rbx]}
     */
    // Template#: 7083, Serial#: 12023
    public void paddusb_r12023(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xDC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusb   xmm0, xmm0}
     */
    // Template#: 7084, Serial#: 12022
    public void paddusb(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xDC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusb   xmm0, xmm0}
     */
    // Template#: 7085, Serial#: 12031
    public void paddusb_r12031(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xDC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddusb   xmm0, [L1: +305419896]}
     */
    // Template#: 7086, Serial#: 12017
    public void rip_paddusb(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xDC, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddusb   xmm0, [L1: +305419896]}
     */
    // Template#: 7087, Serial#: 12026
    public void rip_paddusb_r12026(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xDC, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusb   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7088, Serial#: 12021
    public void paddusb(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xDC, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusb   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7089, Serial#: 12030
    public void paddusb_r12030(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xDC, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusb   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7090, Serial#: 12016
    public void m_paddusb(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xDC, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusb   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7091, Serial#: 12025
    public void m_paddusb_r12025(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xDC, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusb   xmm0, [rbx + 305419896]}
     */
    // Template#: 7092, Serial#: 12020
    public void paddusb(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xDC, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusb   xmm0, [rbx + 305419896]}
     */
    // Template#: 7093, Serial#: 12029
    public void paddusb_r12029(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xDC, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusb   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7094, Serial#: 11839
    public void paddusb(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xDC, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusb   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7095, Serial#: 11848
    public void paddusb_r11848(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xDC, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusb   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7096, Serial#: 11857
    public void paddusb_r11857(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xDC, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusb   mm0, [rbx + 18]}
     */
    // Template#: 7097, Serial#: 11838
    public void paddusb(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xDC, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusb   mm0, [rbx + 18]}
     */
    // Template#: 7098, Serial#: 11847
    public void paddusb_r11847(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xDC, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusb   mm0, [rbx + 18]}
     */
    // Template#: 7099, Serial#: 11856
    public void paddusb_r11856(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xDC, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusb   mm0, rbx[rsi * 4]}
     */
    // Template#: 7100, Serial#: 11835
    public void paddusb(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xDC, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusb   mm0, rbx[rsi * 4]}
     */
    // Template#: 7101, Serial#: 11844
    public void paddusb_r11844(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xDC, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusb   mm0, rbx[rsi * 4]}
     */
    // Template#: 7102, Serial#: 11853
    public void paddusb_r11853(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xDC, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusb   mm0, [rbx]}
     */
    // Template#: 7103, Serial#: 11834
    public void paddusb(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xDC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusb   mm0, [rbx]}
     */
    // Template#: 7104, Serial#: 11843
    public void paddusb_r11843(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xDC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusb   mm0, [rbx]}
     */
    // Template#: 7105, Serial#: 11852
    public void paddusb_r11852(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xDC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusb   mm0, mm0}
     */
    // Template#: 7106, Serial#: 11842
    public void paddusb(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xDC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusb   mm0, mm0}
     */
    // Template#: 7107, Serial#: 11851
    public void paddusb_r11851(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xDC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusb   mm0, mm0}
     */
    // Template#: 7108, Serial#: 11860
    public void paddusb_r11860(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xDC, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddusb   mm0, [L1: +305419896]}
     */
    // Template#: 7109, Serial#: 11837
    public void rip_paddusb(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xDC, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddusb   mm0, [L1: +305419896]}
     */
    // Template#: 7110, Serial#: 11846
    public void rip_paddusb_r11846(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xDC, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddusb   mm0, [L1: +305419896]}
     */
    // Template#: 7111, Serial#: 11855
    public void rip_paddusb_r11855(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xDC, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusb   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7112, Serial#: 11841
    public void paddusb(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xDC, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusb   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7113, Serial#: 11850
    public void paddusb_r11850(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xDC, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusb   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7114, Serial#: 11859
    public void paddusb_r11859(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xDC, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusb   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7115, Serial#: 11836
    public void m_paddusb(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xDC, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusb   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7116, Serial#: 11845
    public void m_paddusb_r11845(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xDC, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusb   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7117, Serial#: 11854
    public void m_paddusb_r11854(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xDC, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusb   mm0, [rbx + 305419896]}
     */
    // Template#: 7118, Serial#: 11840
    public void paddusb(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xDC, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusb   mm0, [rbx + 305419896]}
     */
    // Template#: 7119, Serial#: 11849
    public void paddusb_r11849(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xDC, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusb   mm0, [rbx + 305419896]}
     */
    // Template#: 7120, Serial#: 11858
    public void paddusb_r11858(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xDC, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusw   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7121, Serial#: 12037
    public void paddusw(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xDD, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusw   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7122, Serial#: 12046
    public void paddusw_r12046(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xDD, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusw   xmm0, [rbx + 18]}
     */
    // Template#: 7123, Serial#: 12036
    public void paddusw(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xDD, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusw   xmm0, [rbx + 18]}
     */
    // Template#: 7124, Serial#: 12045
    public void paddusw_r12045(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xDD, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusw   xmm0, rbx[rsi * 4]}
     */
    // Template#: 7125, Serial#: 12033
    public void paddusw(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xDD, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusw   xmm0, rbx[rsi * 4]}
     */
    // Template#: 7126, Serial#: 12042
    public void paddusw_r12042(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xDD, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusw   xmm0, [rbx]}
     */
    // Template#: 7127, Serial#: 12032
    public void paddusw(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xDD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusw   xmm0, [rbx]}
     */
    // Template#: 7128, Serial#: 12041
    public void paddusw_r12041(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xDD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusw   xmm0, xmm0}
     */
    // Template#: 7129, Serial#: 12040
    public void paddusw(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xDD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusw   xmm0, xmm0}
     */
    // Template#: 7130, Serial#: 12049
    public void paddusw_r12049(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xDD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddusw   xmm0, [L1: +305419896]}
     */
    // Template#: 7131, Serial#: 12035
    public void rip_paddusw(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xDD, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddusw   xmm0, [L1: +305419896]}
     */
    // Template#: 7132, Serial#: 12044
    public void rip_paddusw_r12044(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xDD, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusw   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7133, Serial#: 12039
    public void paddusw(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xDD, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusw   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7134, Serial#: 12048
    public void paddusw_r12048(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xDD, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusw   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7135, Serial#: 12034
    public void m_paddusw(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xDD, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusw   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7136, Serial#: 12043
    public void m_paddusw_r12043(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xDD, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusw   xmm0, [rbx + 305419896]}
     */
    // Template#: 7137, Serial#: 12038
    public void paddusw(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xDD, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusw   xmm0, [rbx + 305419896]}
     */
    // Template#: 7138, Serial#: 12047
    public void paddusw_r12047(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xDD, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusw   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7139, Serial#: 11866
    public void paddusw(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xDD, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusw   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7140, Serial#: 11875
    public void paddusw_r11875(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xDD, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusw   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7141, Serial#: 11884
    public void paddusw_r11884(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xDD, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusw   mm0, [rbx + 18]}
     */
    // Template#: 7142, Serial#: 11865
    public void paddusw(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xDD, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusw   mm0, [rbx + 18]}
     */
    // Template#: 7143, Serial#: 11874
    public void paddusw_r11874(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xDD, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusw   mm0, [rbx + 18]}
     */
    // Template#: 7144, Serial#: 11883
    public void paddusw_r11883(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xDD, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusw   mm0, rbx[rsi * 4]}
     */
    // Template#: 7145, Serial#: 11862
    public void paddusw(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xDD, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusw   mm0, rbx[rsi * 4]}
     */
    // Template#: 7146, Serial#: 11871
    public void paddusw_r11871(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xDD, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusw   mm0, rbx[rsi * 4]}
     */
    // Template#: 7147, Serial#: 11880
    public void paddusw_r11880(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xDD, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusw   mm0, [rbx]}
     */
    // Template#: 7148, Serial#: 11861
    public void paddusw(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xDD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusw   mm0, [rbx]}
     */
    // Template#: 7149, Serial#: 11870
    public void paddusw_r11870(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xDD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusw   mm0, [rbx]}
     */
    // Template#: 7150, Serial#: 11879
    public void paddusw_r11879(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xDD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusw   mm0, mm0}
     */
    // Template#: 7151, Serial#: 11869
    public void paddusw(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xDD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusw   mm0, mm0}
     */
    // Template#: 7152, Serial#: 11878
    public void paddusw_r11878(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xDD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusw   mm0, mm0}
     */
    // Template#: 7153, Serial#: 11887
    public void paddusw_r11887(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xDD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddusw   mm0, [L1: +305419896]}
     */
    // Template#: 7154, Serial#: 11864
    public void rip_paddusw(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xDD, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddusw   mm0, [L1: +305419896]}
     */
    // Template#: 7155, Serial#: 11873
    public void rip_paddusw_r11873(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xDD, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddusw   mm0, [L1: +305419896]}
     */
    // Template#: 7156, Serial#: 11882
    public void rip_paddusw_r11882(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xDD, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusw   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7157, Serial#: 11868
    public void paddusw(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xDD, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusw   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7158, Serial#: 11877
    public void paddusw_r11877(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xDD, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusw   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7159, Serial#: 11886
    public void paddusw_r11886(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xDD, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusw   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7160, Serial#: 11863
    public void m_paddusw(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xDD, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusw   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7161, Serial#: 11872
    public void m_paddusw_r11872(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xDD, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddusw   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7162, Serial#: 11881
    public void m_paddusw_r11881(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xDD, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusw   mm0, [rbx + 305419896]}
     */
    // Template#: 7163, Serial#: 11867
    public void paddusw(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xDD, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusw   mm0, [rbx + 305419896]}
     */
    // Template#: 7164, Serial#: 11876
    public void paddusw_r11876(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xDD, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddusw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddusw   mm0, [rbx + 305419896]}
     */
    // Template#: 7165, Serial#: 11885
    public void paddusw_r11885(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xDD, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddw     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7166, Serial#: 12730
    public void paddw(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xFD, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddw     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7167, Serial#: 12739
    public void paddw_r12739(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xFD, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddw     xmm0, [rbx + 18]}
     */
    // Template#: 7168, Serial#: 12729
    public void paddw(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xFD, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddw     xmm0, [rbx + 18]}
     */
    // Template#: 7169, Serial#: 12738
    public void paddw_r12738(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xFD, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddw     xmm0, rbx[rsi * 4]}
     */
    // Template#: 7170, Serial#: 12726
    public void paddw(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xFD, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddw     xmm0, rbx[rsi * 4]}
     */
    // Template#: 7171, Serial#: 12735
    public void paddw_r12735(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xFD, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddw     xmm0, [rbx]}
     */
    // Template#: 7172, Serial#: 12725
    public void paddw(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xFD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddw     xmm0, [rbx]}
     */
    // Template#: 7173, Serial#: 12734
    public void paddw_r12734(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xFD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddw     xmm0, xmm0}
     */
    // Template#: 7174, Serial#: 12733
    public void paddw(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xFD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddw     xmm0, xmm0}
     */
    // Template#: 7175, Serial#: 12742
    public void paddw_r12742(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xFD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddw     xmm0, [L1: +305419896]}
     */
    // Template#: 7176, Serial#: 12728
    public void rip_paddw(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xFD, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddw     xmm0, [L1: +305419896]}
     */
    // Template#: 7177, Serial#: 12737
    public void rip_paddw_r12737(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xFD, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddw     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7178, Serial#: 12732
    public void paddw(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xFD, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddw     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7179, Serial#: 12741
    public void paddw_r12741(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xFD, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddw     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7180, Serial#: 12727
    public void m_paddw(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xFD, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddw     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7181, Serial#: 12736
    public void m_paddw_r12736(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xFD, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddw     xmm0, [rbx + 305419896]}
     */
    // Template#: 7182, Serial#: 12731
    public void paddw(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xFD, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddw     xmm0, [rbx + 305419896]}
     */
    // Template#: 7183, Serial#: 12740
    public void paddw_r12740(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xFD, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddw     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7184, Serial#: 12586
    public void paddw(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xFD, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddw     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7185, Serial#: 12595
    public void paddw_r12595(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xFD, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddw     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7186, Serial#: 12604
    public void paddw_r12604(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xFD, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddw     mm0, [rbx + 18]}
     */
    // Template#: 7187, Serial#: 12585
    public void paddw(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xFD, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddw     mm0, [rbx + 18]}
     */
    // Template#: 7188, Serial#: 12594
    public void paddw_r12594(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xFD, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code paddw     mm0, [rbx + 18]}
     */
    // Template#: 7189, Serial#: 12603
    public void paddw_r12603(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xFD, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddw     mm0, rbx[rsi * 4]}
     */
    // Template#: 7190, Serial#: 12582
    public void paddw(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xFD, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddw     mm0, rbx[rsi * 4]}
     */
    // Template#: 7191, Serial#: 12591
    public void paddw_r12591(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xFD, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddw     mm0, rbx[rsi * 4]}
     */
    // Template#: 7192, Serial#: 12600
    public void paddw_r12600(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xFD, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddw     mm0, [rbx]}
     */
    // Template#: 7193, Serial#: 12581
    public void paddw(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xFD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddw     mm0, [rbx]}
     */
    // Template#: 7194, Serial#: 12590
    public void paddw_r12590(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xFD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddw     mm0, [rbx]}
     */
    // Template#: 7195, Serial#: 12599
    public void paddw_r12599(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xFD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddw     mm0, mm0}
     */
    // Template#: 7196, Serial#: 12589
    public void paddw(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xFD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddw     mm0, mm0}
     */
    // Template#: 7197, Serial#: 12598
    public void paddw_r12598(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xFD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code paddw     mm0, mm0}
     */
    // Template#: 7198, Serial#: 12607
    public void paddw_r12607(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xFD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddw     mm0, [L1: +305419896]}
     */
    // Template#: 7199, Serial#: 12584
    public void rip_paddw(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xFD, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddw     mm0, [L1: +305419896]}
     */
    // Template#: 7200, Serial#: 12593
    public void rip_paddw_r12593(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xFD, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code paddw     mm0, [L1: +305419896]}
     */
    // Template#: 7201, Serial#: 12602
    public void rip_paddw_r12602(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xFD, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddw     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7202, Serial#: 12588
    public void paddw(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xFD, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddw     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7203, Serial#: 12597
    public void paddw_r12597(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xFD, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddw     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7204, Serial#: 12606
    public void paddw_r12606(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xFD, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddw     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7205, Serial#: 12583
    public void m_paddw(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xFD, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddw     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7206, Serial#: 12592
    public void m_paddw_r12592(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xFD, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code paddw     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7207, Serial#: 12601
    public void m_paddw_r12601(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xFD, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddw     mm0, [rbx + 305419896]}
     */
    // Template#: 7208, Serial#: 12587
    public void paddw(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xFD, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddw     mm0, [rbx + 305419896]}
     */
    // Template#: 7209, Serial#: 12596
    public void paddw_r12596(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xFD, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code paddw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code paddw     mm0, [rbx + 305419896]}
     */
    // Template#: 7210, Serial#: 12605
    public void paddw_r12605(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xFD, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pand      xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7211, Serial#: 12001
    public void pand(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xDB, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pand      xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7212, Serial#: 12010
    public void pand_r12010(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xDB, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pand      xmm0, [rbx + 18]}
     */
    // Template#: 7213, Serial#: 12000
    public void pand(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xDB, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pand      xmm0, [rbx + 18]}
     */
    // Template#: 7214, Serial#: 12009
    public void pand_r12009(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xDB, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pand      xmm0, rbx[rsi * 4]}
     */
    // Template#: 7215, Serial#: 11997
    public void pand(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xDB, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pand      xmm0, rbx[rsi * 4]}
     */
    // Template#: 7216, Serial#: 12006
    public void pand_r12006(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xDB, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pand      xmm0, [rbx]}
     */
    // Template#: 7217, Serial#: 11996
    public void pand(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xDB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pand      xmm0, [rbx]}
     */
    // Template#: 7218, Serial#: 12005
    public void pand_r12005(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xDB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pand      xmm0, xmm0}
     */
    // Template#: 7219, Serial#: 12004
    public void pand(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xDB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pand      xmm0, xmm0}
     */
    // Template#: 7220, Serial#: 12013
    public void pand_r12013(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xDB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pand      xmm0, [L1: +305419896]}
     */
    // Template#: 7221, Serial#: 11999
    public void rip_pand(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xDB, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pand      xmm0, [L1: +305419896]}
     */
    // Template#: 7222, Serial#: 12008
    public void rip_pand_r12008(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xDB, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pand      xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7223, Serial#: 12003
    public void pand(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xDB, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pand      xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7224, Serial#: 12012
    public void pand_r12012(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xDB, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pand      xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7225, Serial#: 11998
    public void m_pand(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xDB, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pand      xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7226, Serial#: 12007
    public void m_pand_r12007(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xDB, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pand      xmm0, [rbx + 305419896]}
     */
    // Template#: 7227, Serial#: 12002
    public void pand(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xDB, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pand      xmm0, [rbx + 305419896]}
     */
    // Template#: 7228, Serial#: 12011
    public void pand_r12011(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xDB, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pand      mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7229, Serial#: 11812
    public void pand(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xDB, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pand      mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7230, Serial#: 11821
    public void pand_r11821(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xDB, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pand      mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7231, Serial#: 11830
    public void pand_r11830(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xDB, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pand      mm0, [rbx + 18]}
     */
    // Template#: 7232, Serial#: 11811
    public void pand(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xDB, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pand      mm0, [rbx + 18]}
     */
    // Template#: 7233, Serial#: 11820
    public void pand_r11820(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xDB, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pand      mm0, [rbx + 18]}
     */
    // Template#: 7234, Serial#: 11829
    public void pand_r11829(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xDB, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pand      mm0, rbx[rsi * 4]}
     */
    // Template#: 7235, Serial#: 11808
    public void pand(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xDB, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pand      mm0, rbx[rsi * 4]}
     */
    // Template#: 7236, Serial#: 11817
    public void pand_r11817(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xDB, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pand      mm0, rbx[rsi * 4]}
     */
    // Template#: 7237, Serial#: 11826
    public void pand_r11826(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xDB, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pand      mm0, [rbx]}
     */
    // Template#: 7238, Serial#: 11807
    public void pand(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xDB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pand      mm0, [rbx]}
     */
    // Template#: 7239, Serial#: 11816
    public void pand_r11816(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xDB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pand      mm0, [rbx]}
     */
    // Template#: 7240, Serial#: 11825
    public void pand_r11825(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xDB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pand      mm0, mm0}
     */
    // Template#: 7241, Serial#: 11815
    public void pand(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xDB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pand      mm0, mm0}
     */
    // Template#: 7242, Serial#: 11824
    public void pand_r11824(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xDB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pand      mm0, mm0}
     */
    // Template#: 7243, Serial#: 11833
    public void pand_r11833(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xDB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pand      mm0, [L1: +305419896]}
     */
    // Template#: 7244, Serial#: 11810
    public void rip_pand(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xDB, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pand      mm0, [L1: +305419896]}
     */
    // Template#: 7245, Serial#: 11819
    public void rip_pand_r11819(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xDB, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pand      mm0, [L1: +305419896]}
     */
    // Template#: 7246, Serial#: 11828
    public void rip_pand_r11828(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xDB, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pand      mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7247, Serial#: 11814
    public void pand(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xDB, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pand      mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7248, Serial#: 11823
    public void pand_r11823(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xDB, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pand      mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7249, Serial#: 11832
    public void pand_r11832(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xDB, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pand      mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7250, Serial#: 11809
    public void m_pand(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xDB, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pand      mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7251, Serial#: 11818
    public void m_pand_r11818(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xDB, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pand      mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7252, Serial#: 11827
    public void m_pand_r11827(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xDB, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pand      mm0, [rbx + 305419896]}
     */
    // Template#: 7253, Serial#: 11813
    public void pand(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xDB, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pand      mm0, [rbx + 305419896]}
     */
    // Template#: 7254, Serial#: 11822
    public void pand_r11822(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xDB, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pand  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pand      mm0, [rbx + 305419896]}
     */
    // Template#: 7255, Serial#: 11831
    public void pand_r11831(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xDB, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pandn     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7256, Serial#: 12073
    public void pandn(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xDF, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pandn     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7257, Serial#: 12082
    public void pandn_r12082(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xDF, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pandn     xmm0, [rbx + 18]}
     */
    // Template#: 7258, Serial#: 12072
    public void pandn(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xDF, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pandn     xmm0, [rbx + 18]}
     */
    // Template#: 7259, Serial#: 12081
    public void pandn_r12081(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xDF, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pandn     xmm0, rbx[rsi * 4]}
     */
    // Template#: 7260, Serial#: 12069
    public void pandn(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xDF, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pandn     xmm0, rbx[rsi * 4]}
     */
    // Template#: 7261, Serial#: 12078
    public void pandn_r12078(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xDF, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pandn     xmm0, [rbx]}
     */
    // Template#: 7262, Serial#: 12068
    public void pandn(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xDF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pandn     xmm0, [rbx]}
     */
    // Template#: 7263, Serial#: 12077
    public void pandn_r12077(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xDF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pandn     xmm0, xmm0}
     */
    // Template#: 7264, Serial#: 12076
    public void pandn(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xDF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pandn     xmm0, xmm0}
     */
    // Template#: 7265, Serial#: 12085
    public void pandn_r12085(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xDF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pandn     xmm0, [L1: +305419896]}
     */
    // Template#: 7266, Serial#: 12071
    public void rip_pandn(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xDF, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pandn     xmm0, [L1: +305419896]}
     */
    // Template#: 7267, Serial#: 12080
    public void rip_pandn_r12080(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xDF, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pandn     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7268, Serial#: 12075
    public void pandn(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xDF, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pandn     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7269, Serial#: 12084
    public void pandn_r12084(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xDF, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pandn     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7270, Serial#: 12070
    public void m_pandn(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xDF, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pandn     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7271, Serial#: 12079
    public void m_pandn_r12079(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xDF, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pandn     xmm0, [rbx + 305419896]}
     */
    // Template#: 7272, Serial#: 12074
    public void pandn(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xDF, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pandn     xmm0, [rbx + 305419896]}
     */
    // Template#: 7273, Serial#: 12083
    public void pandn_r12083(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xDF, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pandn     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7274, Serial#: 11920
    public void pandn(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xDF, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pandn     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7275, Serial#: 11929
    public void pandn_r11929(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xDF, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pandn     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7276, Serial#: 11938
    public void pandn_r11938(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xDF, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pandn     mm0, [rbx + 18]}
     */
    // Template#: 7277, Serial#: 11919
    public void pandn(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xDF, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pandn     mm0, [rbx + 18]}
     */
    // Template#: 7278, Serial#: 11928
    public void pandn_r11928(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xDF, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pandn     mm0, [rbx + 18]}
     */
    // Template#: 7279, Serial#: 11937
    public void pandn_r11937(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xDF, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pandn     mm0, rbx[rsi * 4]}
     */
    // Template#: 7280, Serial#: 11916
    public void pandn(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xDF, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pandn     mm0, rbx[rsi * 4]}
     */
    // Template#: 7281, Serial#: 11925
    public void pandn_r11925(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xDF, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pandn     mm0, rbx[rsi * 4]}
     */
    // Template#: 7282, Serial#: 11934
    public void pandn_r11934(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xDF, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pandn     mm0, [rbx]}
     */
    // Template#: 7283, Serial#: 11915
    public void pandn(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xDF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pandn     mm0, [rbx]}
     */
    // Template#: 7284, Serial#: 11924
    public void pandn_r11924(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xDF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pandn     mm0, [rbx]}
     */
    // Template#: 7285, Serial#: 11933
    public void pandn_r11933(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xDF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pandn     mm0, mm0}
     */
    // Template#: 7286, Serial#: 11923
    public void pandn(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xDF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pandn     mm0, mm0}
     */
    // Template#: 7287, Serial#: 11932
    public void pandn_r11932(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xDF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pandn     mm0, mm0}
     */
    // Template#: 7288, Serial#: 11941
    public void pandn_r11941(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xDF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pandn     mm0, [L1: +305419896]}
     */
    // Template#: 7289, Serial#: 11918
    public void rip_pandn(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xDF, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pandn     mm0, [L1: +305419896]}
     */
    // Template#: 7290, Serial#: 11927
    public void rip_pandn_r11927(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xDF, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pandn     mm0, [L1: +305419896]}
     */
    // Template#: 7291, Serial#: 11936
    public void rip_pandn_r11936(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xDF, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pandn     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7292, Serial#: 11922
    public void pandn(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xDF, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pandn     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7293, Serial#: 11931
    public void pandn_r11931(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xDF, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pandn     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7294, Serial#: 11940
    public void pandn_r11940(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xDF, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pandn     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7295, Serial#: 11917
    public void m_pandn(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xDF, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pandn     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7296, Serial#: 11926
    public void m_pandn_r11926(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xDF, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pandn     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7297, Serial#: 11935
    public void m_pandn_r11935(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xDF, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pandn     mm0, [rbx + 305419896]}
     */
    // Template#: 7298, Serial#: 11921
    public void pandn(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xDF, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pandn     mm0, [rbx + 305419896]}
     */
    // Template#: 7299, Serial#: 11930
    public void pandn_r11930(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xDF, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pandn  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pandn     mm0, [rbx + 305419896]}
     */
    // Template#: 7300, Serial#: 11939
    public void pandn_r11939(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xDF, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgb     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7301, Serial#: 8636
    public void pavgb(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xE0, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgb     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7302, Serial#: 8645
    public void pavgb_r8645(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xE0, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgb     xmm0, [rbx + 18]}
     */
    // Template#: 7303, Serial#: 8635
    public void pavgb(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xE0, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgb     xmm0, [rbx + 18]}
     */
    // Template#: 7304, Serial#: 8644
    public void pavgb_r8644(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xE0, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgb     xmm0, rbx[rsi * 4]}
     */
    // Template#: 7305, Serial#: 8632
    public void pavgb(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xE0, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgb     xmm0, rbx[rsi * 4]}
     */
    // Template#: 7306, Serial#: 8641
    public void pavgb_r8641(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xE0, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgb     xmm0, [rbx]}
     */
    // Template#: 7307, Serial#: 8631
    public void pavgb(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xE0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgb     xmm0, [rbx]}
     */
    // Template#: 7308, Serial#: 8640
    public void pavgb_r8640(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xE0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgb     xmm0, xmm0}
     */
    // Template#: 7309, Serial#: 8639
    public void pavgb(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xE0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgb     xmm0, xmm0}
     */
    // Template#: 7310, Serial#: 8648
    public void pavgb_r8648(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xE0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pavgb     xmm0, [L1: +305419896]}
     */
    // Template#: 7311, Serial#: 8634
    public void rip_pavgb(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xE0, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pavgb     xmm0, [L1: +305419896]}
     */
    // Template#: 7312, Serial#: 8643
    public void rip_pavgb_r8643(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xE0, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgb     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7313, Serial#: 8638
    public void pavgb(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xE0, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgb     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7314, Serial#: 8647
    public void pavgb_r8647(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xE0, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgb     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7315, Serial#: 8633
    public void m_pavgb(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xE0, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgb     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7316, Serial#: 8642
    public void m_pavgb_r8642(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xE0, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgb     xmm0, [rbx + 305419896]}
     */
    // Template#: 7317, Serial#: 8637
    public void pavgb(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xE0, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgb     xmm0, [rbx + 305419896]}
     */
    // Template#: 7318, Serial#: 8646
    public void pavgb_r8646(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xE0, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgb     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7319, Serial#: 8450
    public void pavgb(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xE0, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgb     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7320, Serial#: 8459
    public void pavgb_r8459(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xE0, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgb     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7321, Serial#: 8468
    public void pavgb_r8468(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xE0, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgb     mm0, [rbx + 18]}
     */
    // Template#: 7322, Serial#: 8449
    public void pavgb(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xE0, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgb     mm0, [rbx + 18]}
     */
    // Template#: 7323, Serial#: 8458
    public void pavgb_r8458(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xE0, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgb     mm0, [rbx + 18]}
     */
    // Template#: 7324, Serial#: 8467
    public void pavgb_r8467(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xE0, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgb     mm0, rbx[rsi * 4]}
     */
    // Template#: 7325, Serial#: 8446
    public void pavgb(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xE0, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgb     mm0, rbx[rsi * 4]}
     */
    // Template#: 7326, Serial#: 8455
    public void pavgb_r8455(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xE0, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgb     mm0, rbx[rsi * 4]}
     */
    // Template#: 7327, Serial#: 8464
    public void pavgb_r8464(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xE0, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgb     mm0, [rbx]}
     */
    // Template#: 7328, Serial#: 8445
    public void pavgb(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xE0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgb     mm0, [rbx]}
     */
    // Template#: 7329, Serial#: 8454
    public void pavgb_r8454(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xE0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgb     mm0, [rbx]}
     */
    // Template#: 7330, Serial#: 8463
    public void pavgb_r8463(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xE0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgb     mm0, mm0}
     */
    // Template#: 7331, Serial#: 8453
    public void pavgb(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xE0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgb     mm0, mm0}
     */
    // Template#: 7332, Serial#: 8462
    public void pavgb_r8462(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xE0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgb     mm0, mm0}
     */
    // Template#: 7333, Serial#: 8471
    public void pavgb_r8471(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xE0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pavgb     mm0, [L1: +305419896]}
     */
    // Template#: 7334, Serial#: 8448
    public void rip_pavgb(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xE0, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pavgb     mm0, [L1: +305419896]}
     */
    // Template#: 7335, Serial#: 8457
    public void rip_pavgb_r8457(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xE0, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pavgb     mm0, [L1: +305419896]}
     */
    // Template#: 7336, Serial#: 8466
    public void rip_pavgb_r8466(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xE0, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgb     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7337, Serial#: 8452
    public void pavgb(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xE0, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgb     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7338, Serial#: 8461
    public void pavgb_r8461(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xE0, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgb     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7339, Serial#: 8470
    public void pavgb_r8470(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xE0, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgb     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7340, Serial#: 8447
    public void m_pavgb(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xE0, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgb     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7341, Serial#: 8456
    public void m_pavgb_r8456(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xE0, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgb     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7342, Serial#: 8465
    public void m_pavgb_r8465(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xE0, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgb     mm0, [rbx + 305419896]}
     */
    // Template#: 7343, Serial#: 8451
    public void pavgb(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xE0, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgb     mm0, [rbx + 305419896]}
     */
    // Template#: 7344, Serial#: 8460
    public void pavgb_r8460(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xE0, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgb     mm0, [rbx + 305419896]}
     */
    // Template#: 7345, Serial#: 8469
    public void pavgb_r8469(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xE0, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgw     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7346, Serial#: 8690
    public void pavgw(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xE3, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgw     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7347, Serial#: 8699
    public void pavgw_r8699(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xE3, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgw     xmm0, [rbx + 18]}
     */
    // Template#: 7348, Serial#: 8689
    public void pavgw(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xE3, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgw     xmm0, [rbx + 18]}
     */
    // Template#: 7349, Serial#: 8698
    public void pavgw_r8698(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xE3, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgw     xmm0, rbx[rsi * 4]}
     */
    // Template#: 7350, Serial#: 8686
    public void pavgw(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xE3, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgw     xmm0, rbx[rsi * 4]}
     */
    // Template#: 7351, Serial#: 8695
    public void pavgw_r8695(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xE3, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgw     xmm0, [rbx]}
     */
    // Template#: 7352, Serial#: 8685
    public void pavgw(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xE3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgw     xmm0, [rbx]}
     */
    // Template#: 7353, Serial#: 8694
    public void pavgw_r8694(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xE3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgw     xmm0, xmm0}
     */
    // Template#: 7354, Serial#: 8693
    public void pavgw(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xE3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgw     xmm0, xmm0}
     */
    // Template#: 7355, Serial#: 8702
    public void pavgw_r8702(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xE3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pavgw     xmm0, [L1: +305419896]}
     */
    // Template#: 7356, Serial#: 8688
    public void rip_pavgw(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xE3, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pavgw     xmm0, [L1: +305419896]}
     */
    // Template#: 7357, Serial#: 8697
    public void rip_pavgw_r8697(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xE3, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgw     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7358, Serial#: 8692
    public void pavgw(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xE3, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgw     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7359, Serial#: 8701
    public void pavgw_r8701(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xE3, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgw     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7360, Serial#: 8687
    public void m_pavgw(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xE3, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgw     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7361, Serial#: 8696
    public void m_pavgw_r8696(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xE3, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgw     xmm0, [rbx + 305419896]}
     */
    // Template#: 7362, Serial#: 8691
    public void pavgw(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xE3, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgw     xmm0, [rbx + 305419896]}
     */
    // Template#: 7363, Serial#: 8700
    public void pavgw_r8700(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xE3, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgw     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7364, Serial#: 8531
    public void pavgw(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xE3, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgw     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7365, Serial#: 8540
    public void pavgw_r8540(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xE3, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgw     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7366, Serial#: 8549
    public void pavgw_r8549(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xE3, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgw     mm0, [rbx + 18]}
     */
    // Template#: 7367, Serial#: 8530
    public void pavgw(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xE3, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgw     mm0, [rbx + 18]}
     */
    // Template#: 7368, Serial#: 8539
    public void pavgw_r8539(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xE3, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgw     mm0, [rbx + 18]}
     */
    // Template#: 7369, Serial#: 8548
    public void pavgw_r8548(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xE3, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgw     mm0, rbx[rsi * 4]}
     */
    // Template#: 7370, Serial#: 8527
    public void pavgw(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xE3, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgw     mm0, rbx[rsi * 4]}
     */
    // Template#: 7371, Serial#: 8536
    public void pavgw_r8536(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xE3, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgw     mm0, rbx[rsi * 4]}
     */
    // Template#: 7372, Serial#: 8545
    public void pavgw_r8545(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xE3, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgw     mm0, [rbx]}
     */
    // Template#: 7373, Serial#: 8526
    public void pavgw(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xE3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgw     mm0, [rbx]}
     */
    // Template#: 7374, Serial#: 8535
    public void pavgw_r8535(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xE3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgw     mm0, [rbx]}
     */
    // Template#: 7375, Serial#: 8544
    public void pavgw_r8544(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xE3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgw     mm0, mm0}
     */
    // Template#: 7376, Serial#: 8534
    public void pavgw(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xE3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgw     mm0, mm0}
     */
    // Template#: 7377, Serial#: 8543
    public void pavgw_r8543(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xE3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgw     mm0, mm0}
     */
    // Template#: 7378, Serial#: 8552
    public void pavgw_r8552(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xE3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pavgw     mm0, [L1: +305419896]}
     */
    // Template#: 7379, Serial#: 8529
    public void rip_pavgw(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xE3, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pavgw     mm0, [L1: +305419896]}
     */
    // Template#: 7380, Serial#: 8538
    public void rip_pavgw_r8538(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xE3, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pavgw     mm0, [L1: +305419896]}
     */
    // Template#: 7381, Serial#: 8547
    public void rip_pavgw_r8547(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xE3, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgw     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7382, Serial#: 8533
    public void pavgw(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xE3, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgw     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7383, Serial#: 8542
    public void pavgw_r8542(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xE3, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgw     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7384, Serial#: 8551
    public void pavgw_r8551(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xE3, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgw     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7385, Serial#: 8528
    public void m_pavgw(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xE3, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgw     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7386, Serial#: 8537
    public void m_pavgw_r8537(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xE3, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pavgw     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7387, Serial#: 8546
    public void m_pavgw_r8546(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xE3, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgw     mm0, [rbx + 305419896]}
     */
    // Template#: 7388, Serial#: 8532
    public void pavgw(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xE3, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgw     mm0, [rbx + 305419896]}
     */
    // Template#: 7389, Serial#: 8541
    public void pavgw_r8541(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xE3, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pavgw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pavgw     mm0, [rbx + 305419896]}
     */
    // Template#: 7390, Serial#: 8550
    public void pavgw_r8550(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xE3, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqb   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7391, Serial#: 7423
    public void pcmpeqb(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x74, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqb   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7392, Serial#: 7432
    public void pcmpeqb_r7432(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x74, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqb   xmm0, [rbx + 18]}
     */
    // Template#: 7393, Serial#: 7422
    public void pcmpeqb(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x74, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqb   xmm0, [rbx + 18]}
     */
    // Template#: 7394, Serial#: 7431
    public void pcmpeqb_r7431(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x74, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqb   xmm0, rbx[rsi * 4]}
     */
    // Template#: 7395, Serial#: 7419
    public void pcmpeqb(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x74, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqb   xmm0, rbx[rsi * 4]}
     */
    // Template#: 7396, Serial#: 7428
    public void pcmpeqb_r7428(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x74, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqb   xmm0, [rbx]}
     */
    // Template#: 7397, Serial#: 7418
    public void pcmpeqb(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x74, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqb   xmm0, [rbx]}
     */
    // Template#: 7398, Serial#: 7427
    public void pcmpeqb_r7427(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x74, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqb   xmm0, xmm0}
     */
    // Template#: 7399, Serial#: 7426
    public void pcmpeqb(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x74, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqb   xmm0, xmm0}
     */
    // Template#: 7400, Serial#: 7435
    public void pcmpeqb_r7435(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x74, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpeqb   xmm0, [L1: +305419896]}
     */
    // Template#: 7401, Serial#: 7421
    public void rip_pcmpeqb(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x74, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpeqb   xmm0, [L1: +305419896]}
     */
    // Template#: 7402, Serial#: 7430
    public void rip_pcmpeqb_r7430(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x74, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqb   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7403, Serial#: 7425
    public void pcmpeqb(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x74, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqb   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7404, Serial#: 7434
    public void pcmpeqb_r7434(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x74, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqb   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7405, Serial#: 7420
    public void m_pcmpeqb(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x74, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqb   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7406, Serial#: 7429
    public void m_pcmpeqb_r7429(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x74, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqb   xmm0, [rbx + 305419896]}
     */
    // Template#: 7407, Serial#: 7424
    public void pcmpeqb(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x74, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqb   xmm0, [rbx + 305419896]}
     */
    // Template#: 7408, Serial#: 7433
    public void pcmpeqb_r7433(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x74, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqb   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7409, Serial#: 7291
    public void pcmpeqb(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0x74, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqb   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7410, Serial#: 7300
    public void pcmpeqb_r7300(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0x74, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqb   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7411, Serial#: 7309
    public void pcmpeqb_r7309(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0x74, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqb   mm0, [rbx + 18]}
     */
    // Template#: 7412, Serial#: 7290
    public void pcmpeqb(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0x74, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqb   mm0, [rbx + 18]}
     */
    // Template#: 7413, Serial#: 7299
    public void pcmpeqb_r7299(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0x74, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqb   mm0, [rbx + 18]}
     */
    // Template#: 7414, Serial#: 7308
    public void pcmpeqb_r7308(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0x74, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqb   mm0, rbx[rsi * 4]}
     */
    // Template#: 7415, Serial#: 7287
    public void pcmpeqb(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0x74, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqb   mm0, rbx[rsi * 4]}
     */
    // Template#: 7416, Serial#: 7296
    public void pcmpeqb_r7296(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0x74, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqb   mm0, rbx[rsi * 4]}
     */
    // Template#: 7417, Serial#: 7305
    public void pcmpeqb_r7305(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0x74, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqb   mm0, [rbx]}
     */
    // Template#: 7418, Serial#: 7286
    public void pcmpeqb(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0x74, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqb   mm0, [rbx]}
     */
    // Template#: 7419, Serial#: 7295
    public void pcmpeqb_r7295(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0x74, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqb   mm0, [rbx]}
     */
    // Template#: 7420, Serial#: 7304
    public void pcmpeqb_r7304(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0x74, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqb   mm0, mm0}
     */
    // Template#: 7421, Serial#: 7294
    public void pcmpeqb(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0x74, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqb   mm0, mm0}
     */
    // Template#: 7422, Serial#: 7303
    public void pcmpeqb_r7303(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0x74, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqb   mm0, mm0}
     */
    // Template#: 7423, Serial#: 7312
    public void pcmpeqb_r7312(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0x74, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpeqb   mm0, [L1: +305419896]}
     */
    // Template#: 7424, Serial#: 7289
    public void rip_pcmpeqb(MMXRegister destination, int rel32) {
        assemble0525((byte) 0x74, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpeqb   mm0, [L1: +305419896]}
     */
    // Template#: 7425, Serial#: 7298
    public void rip_pcmpeqb_r7298(MMXRegister destination, int rel32) {
        assemble0526((byte) 0x74, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpeqb   mm0, [L1: +305419896]}
     */
    // Template#: 7426, Serial#: 7307
    public void rip_pcmpeqb_r7307(MMXRegister destination, int rel32) {
        assemble0951((byte) 0x74, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqb   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7427, Serial#: 7293
    public void pcmpeqb(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0x74, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqb   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7428, Serial#: 7302
    public void pcmpeqb_r7302(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0x74, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqb   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7429, Serial#: 7311
    public void pcmpeqb_r7311(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0x74, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqb   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7430, Serial#: 7288
    public void m_pcmpeqb(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0x74, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqb   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7431, Serial#: 7297
    public void m_pcmpeqb_r7297(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0x74, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqb   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7432, Serial#: 7306
    public void m_pcmpeqb_r7306(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0x74, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqb   mm0, [rbx + 305419896]}
     */
    // Template#: 7433, Serial#: 7292
    public void pcmpeqb(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0x74, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqb   mm0, [rbx + 305419896]}
     */
    // Template#: 7434, Serial#: 7301
    public void pcmpeqb_r7301(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0x74, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqb   mm0, [rbx + 305419896]}
     */
    // Template#: 7435, Serial#: 7310
    public void pcmpeqb_r7310(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0x74, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqd   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7436, Serial#: 7459
    public void pcmpeqd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x76, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqd   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7437, Serial#: 7468
    public void pcmpeqd_r7468(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x76, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqd   xmm0, [rbx + 18]}
     */
    // Template#: 7438, Serial#: 7458
    public void pcmpeqd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x76, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqd   xmm0, [rbx + 18]}
     */
    // Template#: 7439, Serial#: 7467
    public void pcmpeqd_r7467(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x76, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqd   xmm0, rbx[rsi * 4]}
     */
    // Template#: 7440, Serial#: 7455
    public void pcmpeqd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x76, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqd   xmm0, rbx[rsi * 4]}
     */
    // Template#: 7441, Serial#: 7464
    public void pcmpeqd_r7464(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x76, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqd   xmm0, [rbx]}
     */
    // Template#: 7442, Serial#: 7454
    public void pcmpeqd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x76, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqd   xmm0, [rbx]}
     */
    // Template#: 7443, Serial#: 7463
    public void pcmpeqd_r7463(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x76, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqd   xmm0, xmm0}
     */
    // Template#: 7444, Serial#: 7462
    public void pcmpeqd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x76, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqd   xmm0, xmm0}
     */
    // Template#: 7445, Serial#: 7471
    public void pcmpeqd_r7471(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x76, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpeqd   xmm0, [L1: +305419896]}
     */
    // Template#: 7446, Serial#: 7457
    public void rip_pcmpeqd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x76, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpeqd   xmm0, [L1: +305419896]}
     */
    // Template#: 7447, Serial#: 7466
    public void rip_pcmpeqd_r7466(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x76, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqd   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7448, Serial#: 7461
    public void pcmpeqd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x76, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqd   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7449, Serial#: 7470
    public void pcmpeqd_r7470(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x76, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqd   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7450, Serial#: 7456
    public void m_pcmpeqd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x76, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqd   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7451, Serial#: 7465
    public void m_pcmpeqd_r7465(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x76, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqd   xmm0, [rbx + 305419896]}
     */
    // Template#: 7452, Serial#: 7460
    public void pcmpeqd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x76, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqd   xmm0, [rbx + 305419896]}
     */
    // Template#: 7453, Serial#: 7469
    public void pcmpeqd_r7469(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x76, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqd   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7454, Serial#: 7345
    public void pcmpeqd(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0x76, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqd   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7455, Serial#: 7354
    public void pcmpeqd_r7354(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0x76, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqd   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7456, Serial#: 7363
    public void pcmpeqd_r7363(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0x76, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqd   mm0, [rbx + 18]}
     */
    // Template#: 7457, Serial#: 7344
    public void pcmpeqd(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0x76, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqd   mm0, [rbx + 18]}
     */
    // Template#: 7458, Serial#: 7353
    public void pcmpeqd_r7353(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0x76, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqd   mm0, [rbx + 18]}
     */
    // Template#: 7459, Serial#: 7362
    public void pcmpeqd_r7362(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0x76, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqd   mm0, rbx[rsi * 4]}
     */
    // Template#: 7460, Serial#: 7341
    public void pcmpeqd(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0x76, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqd   mm0, rbx[rsi * 4]}
     */
    // Template#: 7461, Serial#: 7350
    public void pcmpeqd_r7350(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0x76, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqd   mm0, rbx[rsi * 4]}
     */
    // Template#: 7462, Serial#: 7359
    public void pcmpeqd_r7359(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0x76, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqd   mm0, [rbx]}
     */
    // Template#: 7463, Serial#: 7340
    public void pcmpeqd(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0x76, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqd   mm0, [rbx]}
     */
    // Template#: 7464, Serial#: 7349
    public void pcmpeqd_r7349(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0x76, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqd   mm0, [rbx]}
     */
    // Template#: 7465, Serial#: 7358
    public void pcmpeqd_r7358(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0x76, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqd   mm0, mm0}
     */
    // Template#: 7466, Serial#: 7348
    public void pcmpeqd(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0x76, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqd   mm0, mm0}
     */
    // Template#: 7467, Serial#: 7357
    public void pcmpeqd_r7357(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0x76, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqd   mm0, mm0}
     */
    // Template#: 7468, Serial#: 7366
    public void pcmpeqd_r7366(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0x76, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpeqd   mm0, [L1: +305419896]}
     */
    // Template#: 7469, Serial#: 7343
    public void rip_pcmpeqd(MMXRegister destination, int rel32) {
        assemble0525((byte) 0x76, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpeqd   mm0, [L1: +305419896]}
     */
    // Template#: 7470, Serial#: 7352
    public void rip_pcmpeqd_r7352(MMXRegister destination, int rel32) {
        assemble0526((byte) 0x76, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpeqd   mm0, [L1: +305419896]}
     */
    // Template#: 7471, Serial#: 7361
    public void rip_pcmpeqd_r7361(MMXRegister destination, int rel32) {
        assemble0951((byte) 0x76, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqd   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7472, Serial#: 7347
    public void pcmpeqd(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0x76, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqd   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7473, Serial#: 7356
    public void pcmpeqd_r7356(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0x76, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqd   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7474, Serial#: 7365
    public void pcmpeqd_r7365(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0x76, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqd   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7475, Serial#: 7342
    public void m_pcmpeqd(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0x76, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqd   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7476, Serial#: 7351
    public void m_pcmpeqd_r7351(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0x76, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqd   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7477, Serial#: 7360
    public void m_pcmpeqd_r7360(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0x76, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqd   mm0, [rbx + 305419896]}
     */
    // Template#: 7478, Serial#: 7346
    public void pcmpeqd(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0x76, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqd   mm0, [rbx + 305419896]}
     */
    // Template#: 7479, Serial#: 7355
    public void pcmpeqd_r7355(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0x76, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqd   mm0, [rbx + 305419896]}
     */
    // Template#: 7480, Serial#: 7364
    public void pcmpeqd_r7364(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0x76, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqw   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7481, Serial#: 7441
    public void pcmpeqw(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x75, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqw   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7482, Serial#: 7450
    public void pcmpeqw_r7450(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x75, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqw   xmm0, [rbx + 18]}
     */
    // Template#: 7483, Serial#: 7440
    public void pcmpeqw(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x75, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqw   xmm0, [rbx + 18]}
     */
    // Template#: 7484, Serial#: 7449
    public void pcmpeqw_r7449(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x75, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqw   xmm0, rbx[rsi * 4]}
     */
    // Template#: 7485, Serial#: 7437
    public void pcmpeqw(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x75, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqw   xmm0, rbx[rsi * 4]}
     */
    // Template#: 7486, Serial#: 7446
    public void pcmpeqw_r7446(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x75, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqw   xmm0, [rbx]}
     */
    // Template#: 7487, Serial#: 7436
    public void pcmpeqw(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x75, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqw   xmm0, [rbx]}
     */
    // Template#: 7488, Serial#: 7445
    public void pcmpeqw_r7445(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x75, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqw   xmm0, xmm0}
     */
    // Template#: 7489, Serial#: 7444
    public void pcmpeqw(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x75, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqw   xmm0, xmm0}
     */
    // Template#: 7490, Serial#: 7453
    public void pcmpeqw_r7453(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x75, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpeqw   xmm0, [L1: +305419896]}
     */
    // Template#: 7491, Serial#: 7439
    public void rip_pcmpeqw(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x75, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpeqw   xmm0, [L1: +305419896]}
     */
    // Template#: 7492, Serial#: 7448
    public void rip_pcmpeqw_r7448(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x75, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqw   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7493, Serial#: 7443
    public void pcmpeqw(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x75, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqw   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7494, Serial#: 7452
    public void pcmpeqw_r7452(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x75, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqw   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7495, Serial#: 7438
    public void m_pcmpeqw(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x75, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqw   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7496, Serial#: 7447
    public void m_pcmpeqw_r7447(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x75, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqw   xmm0, [rbx + 305419896]}
     */
    // Template#: 7497, Serial#: 7442
    public void pcmpeqw(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x75, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqw   xmm0, [rbx + 305419896]}
     */
    // Template#: 7498, Serial#: 7451
    public void pcmpeqw_r7451(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x75, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqw   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7499, Serial#: 7318
    public void pcmpeqw(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0x75, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqw   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7500, Serial#: 7327
    public void pcmpeqw_r7327(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0x75, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqw   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7501, Serial#: 7336
    public void pcmpeqw_r7336(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0x75, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqw   mm0, [rbx + 18]}
     */
    // Template#: 7502, Serial#: 7317
    public void pcmpeqw(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0x75, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqw   mm0, [rbx + 18]}
     */
    // Template#: 7503, Serial#: 7326
    public void pcmpeqw_r7326(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0x75, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqw   mm0, [rbx + 18]}
     */
    // Template#: 7504, Serial#: 7335
    public void pcmpeqw_r7335(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0x75, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqw   mm0, rbx[rsi * 4]}
     */
    // Template#: 7505, Serial#: 7314
    public void pcmpeqw(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0x75, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqw   mm0, rbx[rsi * 4]}
     */
    // Template#: 7506, Serial#: 7323
    public void pcmpeqw_r7323(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0x75, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqw   mm0, rbx[rsi * 4]}
     */
    // Template#: 7507, Serial#: 7332
    public void pcmpeqw_r7332(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0x75, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqw   mm0, [rbx]}
     */
    // Template#: 7508, Serial#: 7313
    public void pcmpeqw(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0x75, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqw   mm0, [rbx]}
     */
    // Template#: 7509, Serial#: 7322
    public void pcmpeqw_r7322(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0x75, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqw   mm0, [rbx]}
     */
    // Template#: 7510, Serial#: 7331
    public void pcmpeqw_r7331(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0x75, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqw   mm0, mm0}
     */
    // Template#: 7511, Serial#: 7321
    public void pcmpeqw(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0x75, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqw   mm0, mm0}
     */
    // Template#: 7512, Serial#: 7330
    public void pcmpeqw_r7330(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0x75, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqw   mm0, mm0}
     */
    // Template#: 7513, Serial#: 7339
    public void pcmpeqw_r7339(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0x75, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpeqw   mm0, [L1: +305419896]}
     */
    // Template#: 7514, Serial#: 7316
    public void rip_pcmpeqw(MMXRegister destination, int rel32) {
        assemble0525((byte) 0x75, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpeqw   mm0, [L1: +305419896]}
     */
    // Template#: 7515, Serial#: 7325
    public void rip_pcmpeqw_r7325(MMXRegister destination, int rel32) {
        assemble0526((byte) 0x75, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpeqw   mm0, [L1: +305419896]}
     */
    // Template#: 7516, Serial#: 7334
    public void rip_pcmpeqw_r7334(MMXRegister destination, int rel32) {
        assemble0951((byte) 0x75, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqw   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7517, Serial#: 7320
    public void pcmpeqw(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0x75, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqw   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7518, Serial#: 7329
    public void pcmpeqw_r7329(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0x75, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqw   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7519, Serial#: 7338
    public void pcmpeqw_r7338(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0x75, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqw   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7520, Serial#: 7315
    public void m_pcmpeqw(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0x75, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqw   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7521, Serial#: 7324
    public void m_pcmpeqw_r7324(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0x75, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpeqw   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7522, Serial#: 7333
    public void m_pcmpeqw_r7333(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0x75, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqw   mm0, [rbx + 305419896]}
     */
    // Template#: 7523, Serial#: 7319
    public void pcmpeqw(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0x75, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqw   mm0, [rbx + 305419896]}
     */
    // Template#: 7524, Serial#: 7328
    public void pcmpeqw_r7328(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0x75, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpeqw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpeqw   mm0, [rbx + 305419896]}
     */
    // Template#: 7525, Serial#: 7337
    public void pcmpeqw_r7337(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0x75, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtb   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7526, Serial#: 7168
    public void pcmpgtb(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x64, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtb   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7527, Serial#: 7177
    public void pcmpgtb_r7177(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x64, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtb   xmm0, [rbx + 18]}
     */
    // Template#: 7528, Serial#: 7167
    public void pcmpgtb(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x64, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtb   xmm0, [rbx + 18]}
     */
    // Template#: 7529, Serial#: 7176
    public void pcmpgtb_r7176(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x64, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtb   xmm0, rbx[rsi * 4]}
     */
    // Template#: 7530, Serial#: 7164
    public void pcmpgtb(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x64, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtb   xmm0, rbx[rsi * 4]}
     */
    // Template#: 7531, Serial#: 7173
    public void pcmpgtb_r7173(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x64, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtb   xmm0, [rbx]}
     */
    // Template#: 7532, Serial#: 7163
    public void pcmpgtb(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x64, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtb   xmm0, [rbx]}
     */
    // Template#: 7533, Serial#: 7172
    public void pcmpgtb_r7172(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x64, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtb   xmm0, xmm0}
     */
    // Template#: 7534, Serial#: 7171
    public void pcmpgtb(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x64, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtb   xmm0, xmm0}
     */
    // Template#: 7535, Serial#: 7180
    public void pcmpgtb_r7180(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x64, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpgtb   xmm0, [L1: +305419896]}
     */
    // Template#: 7536, Serial#: 7166
    public void rip_pcmpgtb(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x64, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpgtb   xmm0, [L1: +305419896]}
     */
    // Template#: 7537, Serial#: 7175
    public void rip_pcmpgtb_r7175(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x64, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtb   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7538, Serial#: 7170
    public void pcmpgtb(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x64, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtb   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7539, Serial#: 7179
    public void pcmpgtb_r7179(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x64, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtb   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7540, Serial#: 7165
    public void m_pcmpgtb(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x64, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtb   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7541, Serial#: 7174
    public void m_pcmpgtb_r7174(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x64, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtb   xmm0, [rbx + 305419896]}
     */
    // Template#: 7542, Serial#: 7169
    public void pcmpgtb(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x64, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtb   xmm0, [rbx + 305419896]}
     */
    // Template#: 7543, Serial#: 7178
    public void pcmpgtb_r7178(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x64, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtb   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7544, Serial#: 6988
    public void pcmpgtb(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0x64, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtb   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7545, Serial#: 6997
    public void pcmpgtb_r6997(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0x64, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtb   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7546, Serial#: 7006
    public void pcmpgtb_r7006(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0x64, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtb   mm0, [rbx + 18]}
     */
    // Template#: 7547, Serial#: 6987
    public void pcmpgtb(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0x64, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtb   mm0, [rbx + 18]}
     */
    // Template#: 7548, Serial#: 6996
    public void pcmpgtb_r6996(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0x64, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtb   mm0, [rbx + 18]}
     */
    // Template#: 7549, Serial#: 7005
    public void pcmpgtb_r7005(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0x64, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtb   mm0, rbx[rsi * 4]}
     */
    // Template#: 7550, Serial#: 6984
    public void pcmpgtb(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0x64, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtb   mm0, rbx[rsi * 4]}
     */
    // Template#: 7551, Serial#: 6993
    public void pcmpgtb_r6993(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0x64, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtb   mm0, rbx[rsi * 4]}
     */
    // Template#: 7552, Serial#: 7002
    public void pcmpgtb_r7002(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0x64, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtb   mm0, [rbx]}
     */
    // Template#: 7553, Serial#: 6983
    public void pcmpgtb(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0x64, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtb   mm0, [rbx]}
     */
    // Template#: 7554, Serial#: 6992
    public void pcmpgtb_r6992(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0x64, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtb   mm0, [rbx]}
     */
    // Template#: 7555, Serial#: 7001
    public void pcmpgtb_r7001(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0x64, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtb   mm0, mm0}
     */
    // Template#: 7556, Serial#: 6991
    public void pcmpgtb(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0x64, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtb   mm0, mm0}
     */
    // Template#: 7557, Serial#: 7000
    public void pcmpgtb_r7000(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0x64, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtb   mm0, mm0}
     */
    // Template#: 7558, Serial#: 7009
    public void pcmpgtb_r7009(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0x64, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpgtb   mm0, [L1: +305419896]}
     */
    // Template#: 7559, Serial#: 6986
    public void rip_pcmpgtb(MMXRegister destination, int rel32) {
        assemble0525((byte) 0x64, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpgtb   mm0, [L1: +305419896]}
     */
    // Template#: 7560, Serial#: 6995
    public void rip_pcmpgtb_r6995(MMXRegister destination, int rel32) {
        assemble0526((byte) 0x64, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpgtb   mm0, [L1: +305419896]}
     */
    // Template#: 7561, Serial#: 7004
    public void rip_pcmpgtb_r7004(MMXRegister destination, int rel32) {
        assemble0951((byte) 0x64, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtb   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7562, Serial#: 6990
    public void pcmpgtb(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0x64, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtb   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7563, Serial#: 6999
    public void pcmpgtb_r6999(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0x64, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtb   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7564, Serial#: 7008
    public void pcmpgtb_r7008(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0x64, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtb   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7565, Serial#: 6985
    public void m_pcmpgtb(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0x64, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtb   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7566, Serial#: 6994
    public void m_pcmpgtb_r6994(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0x64, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtb   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7567, Serial#: 7003
    public void m_pcmpgtb_r7003(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0x64, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtb   mm0, [rbx + 305419896]}
     */
    // Template#: 7568, Serial#: 6989
    public void pcmpgtb(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0x64, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtb   mm0, [rbx + 305419896]}
     */
    // Template#: 7569, Serial#: 6998
    public void pcmpgtb_r6998(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0x64, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtb   mm0, [rbx + 305419896]}
     */
    // Template#: 7570, Serial#: 7007
    public void pcmpgtb_r7007(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0x64, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtd   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7571, Serial#: 7204
    public void pcmpgtd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x66, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtd   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7572, Serial#: 7213
    public void pcmpgtd_r7213(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x66, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtd   xmm0, [rbx + 18]}
     */
    // Template#: 7573, Serial#: 7203
    public void pcmpgtd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x66, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtd   xmm0, [rbx + 18]}
     */
    // Template#: 7574, Serial#: 7212
    public void pcmpgtd_r7212(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x66, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtd   xmm0, rbx[rsi * 4]}
     */
    // Template#: 7575, Serial#: 7200
    public void pcmpgtd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x66, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtd   xmm0, rbx[rsi * 4]}
     */
    // Template#: 7576, Serial#: 7209
    public void pcmpgtd_r7209(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x66, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtd   xmm0, [rbx]}
     */
    // Template#: 7577, Serial#: 7199
    public void pcmpgtd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x66, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtd   xmm0, [rbx]}
     */
    // Template#: 7578, Serial#: 7208
    public void pcmpgtd_r7208(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x66, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtd   xmm0, xmm0}
     */
    // Template#: 7579, Serial#: 7207
    public void pcmpgtd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x66, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtd   xmm0, xmm0}
     */
    // Template#: 7580, Serial#: 7216
    public void pcmpgtd_r7216(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x66, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpgtd   xmm0, [L1: +305419896]}
     */
    // Template#: 7581, Serial#: 7202
    public void rip_pcmpgtd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x66, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpgtd   xmm0, [L1: +305419896]}
     */
    // Template#: 7582, Serial#: 7211
    public void rip_pcmpgtd_r7211(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x66, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtd   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7583, Serial#: 7206
    public void pcmpgtd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x66, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtd   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7584, Serial#: 7215
    public void pcmpgtd_r7215(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x66, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtd   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7585, Serial#: 7201
    public void m_pcmpgtd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x66, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtd   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7586, Serial#: 7210
    public void m_pcmpgtd_r7210(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x66, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtd   xmm0, [rbx + 305419896]}
     */
    // Template#: 7587, Serial#: 7205
    public void pcmpgtd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x66, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtd   xmm0, [rbx + 305419896]}
     */
    // Template#: 7588, Serial#: 7214
    public void pcmpgtd_r7214(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x66, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtd   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7589, Serial#: 7042
    public void pcmpgtd(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0x66, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtd   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7590, Serial#: 7051
    public void pcmpgtd_r7051(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0x66, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtd   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7591, Serial#: 7060
    public void pcmpgtd_r7060(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0x66, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtd   mm0, [rbx + 18]}
     */
    // Template#: 7592, Serial#: 7041
    public void pcmpgtd(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0x66, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtd   mm0, [rbx + 18]}
     */
    // Template#: 7593, Serial#: 7050
    public void pcmpgtd_r7050(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0x66, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtd   mm0, [rbx + 18]}
     */
    // Template#: 7594, Serial#: 7059
    public void pcmpgtd_r7059(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0x66, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtd   mm0, rbx[rsi * 4]}
     */
    // Template#: 7595, Serial#: 7038
    public void pcmpgtd(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0x66, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtd   mm0, rbx[rsi * 4]}
     */
    // Template#: 7596, Serial#: 7047
    public void pcmpgtd_r7047(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0x66, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtd   mm0, rbx[rsi * 4]}
     */
    // Template#: 7597, Serial#: 7056
    public void pcmpgtd_r7056(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0x66, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtd   mm0, [rbx]}
     */
    // Template#: 7598, Serial#: 7037
    public void pcmpgtd(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0x66, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtd   mm0, [rbx]}
     */
    // Template#: 7599, Serial#: 7046
    public void pcmpgtd_r7046(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0x66, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtd   mm0, [rbx]}
     */
    // Template#: 7600, Serial#: 7055
    public void pcmpgtd_r7055(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0x66, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtd   mm0, mm0}
     */
    // Template#: 7601, Serial#: 7045
    public void pcmpgtd(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0x66, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtd   mm0, mm0}
     */
    // Template#: 7602, Serial#: 7054
    public void pcmpgtd_r7054(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0x66, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtd   mm0, mm0}
     */
    // Template#: 7603, Serial#: 7063
    public void pcmpgtd_r7063(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0x66, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpgtd   mm0, [L1: +305419896]}
     */
    // Template#: 7604, Serial#: 7040
    public void rip_pcmpgtd(MMXRegister destination, int rel32) {
        assemble0525((byte) 0x66, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpgtd   mm0, [L1: +305419896]}
     */
    // Template#: 7605, Serial#: 7049
    public void rip_pcmpgtd_r7049(MMXRegister destination, int rel32) {
        assemble0526((byte) 0x66, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpgtd   mm0, [L1: +305419896]}
     */
    // Template#: 7606, Serial#: 7058
    public void rip_pcmpgtd_r7058(MMXRegister destination, int rel32) {
        assemble0951((byte) 0x66, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtd   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7607, Serial#: 7044
    public void pcmpgtd(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0x66, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtd   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7608, Serial#: 7053
    public void pcmpgtd_r7053(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0x66, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtd   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7609, Serial#: 7062
    public void pcmpgtd_r7062(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0x66, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtd   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7610, Serial#: 7039
    public void m_pcmpgtd(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0x66, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtd   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7611, Serial#: 7048
    public void m_pcmpgtd_r7048(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0x66, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtd   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7612, Serial#: 7057
    public void m_pcmpgtd_r7057(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0x66, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtd   mm0, [rbx + 305419896]}
     */
    // Template#: 7613, Serial#: 7043
    public void pcmpgtd(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0x66, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtd   mm0, [rbx + 305419896]}
     */
    // Template#: 7614, Serial#: 7052
    public void pcmpgtd_r7052(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0x66, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtd   mm0, [rbx + 305419896]}
     */
    // Template#: 7615, Serial#: 7061
    public void pcmpgtd_r7061(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0x66, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtw   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7616, Serial#: 7186
    public void pcmpgtw(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x65, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtw   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7617, Serial#: 7195
    public void pcmpgtw_r7195(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x65, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtw   xmm0, [rbx + 18]}
     */
    // Template#: 7618, Serial#: 7185
    public void pcmpgtw(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x65, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtw   xmm0, [rbx + 18]}
     */
    // Template#: 7619, Serial#: 7194
    public void pcmpgtw_r7194(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x65, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtw   xmm0, rbx[rsi * 4]}
     */
    // Template#: 7620, Serial#: 7182
    public void pcmpgtw(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x65, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtw   xmm0, rbx[rsi * 4]}
     */
    // Template#: 7621, Serial#: 7191
    public void pcmpgtw_r7191(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x65, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtw   xmm0, [rbx]}
     */
    // Template#: 7622, Serial#: 7181
    public void pcmpgtw(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x65, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtw   xmm0, [rbx]}
     */
    // Template#: 7623, Serial#: 7190
    public void pcmpgtw_r7190(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x65, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtw   xmm0, xmm0}
     */
    // Template#: 7624, Serial#: 7189
    public void pcmpgtw(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x65, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtw   xmm0, xmm0}
     */
    // Template#: 7625, Serial#: 7198
    public void pcmpgtw_r7198(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x65, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpgtw   xmm0, [L1: +305419896]}
     */
    // Template#: 7626, Serial#: 7184
    public void rip_pcmpgtw(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x65, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpgtw   xmm0, [L1: +305419896]}
     */
    // Template#: 7627, Serial#: 7193
    public void rip_pcmpgtw_r7193(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x65, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtw   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7628, Serial#: 7188
    public void pcmpgtw(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x65, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtw   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7629, Serial#: 7197
    public void pcmpgtw_r7197(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x65, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtw   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7630, Serial#: 7183
    public void m_pcmpgtw(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x65, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtw   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7631, Serial#: 7192
    public void m_pcmpgtw_r7192(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x65, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtw   xmm0, [rbx + 305419896]}
     */
    // Template#: 7632, Serial#: 7187
    public void pcmpgtw(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x65, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtw   xmm0, [rbx + 305419896]}
     */
    // Template#: 7633, Serial#: 7196
    public void pcmpgtw_r7196(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x65, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtw   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7634, Serial#: 7015
    public void pcmpgtw(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0x65, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtw   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7635, Serial#: 7024
    public void pcmpgtw_r7024(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0x65, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtw   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7636, Serial#: 7033
    public void pcmpgtw_r7033(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0x65, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtw   mm0, [rbx + 18]}
     */
    // Template#: 7637, Serial#: 7014
    public void pcmpgtw(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0x65, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtw   mm0, [rbx + 18]}
     */
    // Template#: 7638, Serial#: 7023
    public void pcmpgtw_r7023(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0x65, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtw   mm0, [rbx + 18]}
     */
    // Template#: 7639, Serial#: 7032
    public void pcmpgtw_r7032(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0x65, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtw   mm0, rbx[rsi * 4]}
     */
    // Template#: 7640, Serial#: 7011
    public void pcmpgtw(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0x65, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtw   mm0, rbx[rsi * 4]}
     */
    // Template#: 7641, Serial#: 7020
    public void pcmpgtw_r7020(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0x65, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtw   mm0, rbx[rsi * 4]}
     */
    // Template#: 7642, Serial#: 7029
    public void pcmpgtw_r7029(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0x65, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtw   mm0, [rbx]}
     */
    // Template#: 7643, Serial#: 7010
    public void pcmpgtw(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0x65, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtw   mm0, [rbx]}
     */
    // Template#: 7644, Serial#: 7019
    public void pcmpgtw_r7019(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0x65, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtw   mm0, [rbx]}
     */
    // Template#: 7645, Serial#: 7028
    public void pcmpgtw_r7028(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0x65, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtw   mm0, mm0}
     */
    // Template#: 7646, Serial#: 7018
    public void pcmpgtw(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0x65, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtw   mm0, mm0}
     */
    // Template#: 7647, Serial#: 7027
    public void pcmpgtw_r7027(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0x65, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtw   mm0, mm0}
     */
    // Template#: 7648, Serial#: 7036
    public void pcmpgtw_r7036(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0x65, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpgtw   mm0, [L1: +305419896]}
     */
    // Template#: 7649, Serial#: 7013
    public void rip_pcmpgtw(MMXRegister destination, int rel32) {
        assemble0525((byte) 0x65, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpgtw   mm0, [L1: +305419896]}
     */
    // Template#: 7650, Serial#: 7022
    public void rip_pcmpgtw_r7022(MMXRegister destination, int rel32) {
        assemble0526((byte) 0x65, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pcmpgtw   mm0, [L1: +305419896]}
     */
    // Template#: 7651, Serial#: 7031
    public void rip_pcmpgtw_r7031(MMXRegister destination, int rel32) {
        assemble0951((byte) 0x65, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtw   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7652, Serial#: 7017
    public void pcmpgtw(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0x65, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtw   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7653, Serial#: 7026
    public void pcmpgtw_r7026(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0x65, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtw   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7654, Serial#: 7035
    public void pcmpgtw_r7035(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0x65, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtw   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7655, Serial#: 7012
    public void m_pcmpgtw(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0x65, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtw   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7656, Serial#: 7021
    public void m_pcmpgtw_r7021(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0x65, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pcmpgtw   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7657, Serial#: 7030
    public void m_pcmpgtw_r7030(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0x65, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtw   mm0, [rbx + 305419896]}
     */
    // Template#: 7658, Serial#: 7016
    public void pcmpgtw(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0x65, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtw   mm0, [rbx + 305419896]}
     */
    // Template#: 7659, Serial#: 7025
    public void pcmpgtw_r7025(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0x65, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pcmpgtw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pcmpgtw   mm0, [rbx + 305419896]}
     */
    // Template#: 7660, Serial#: 7034
    public void pcmpgtw_r7034(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0x65, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pextrw  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pextrw    eax, xmm0, 0x12}
     */
    // Template#: 7661, Serial#: 8115
    public void pextrw(AMD64GeneralRegister32 destination, AMD64XMMRegister source, byte imm8) {
        assemble0991((byte) 0xC5, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pextrw  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pextrw    eax, xmm0, 0x12}
     */
    // Template#: 7662, Serial#: 8116
    public void pextrw_r8116(AMD64GeneralRegister32 destination, AMD64XMMRegister source, byte imm8) {
        assemble0992((byte) 0xC5, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pextrw  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pextrw    eax, xmm0, 0x12}
     */
    // Template#: 7663, Serial#: 8117
    public void pextrw_r8117(AMD64GeneralRegister32 destination, AMD64XMMRegister source, byte imm8) {
        assemble0993((byte) 0xC5, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pextrw  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pextrw    eax, mm0, 0x12}
     */
    // Template#: 7664, Serial#: 8043
    public void pextrw(AMD64GeneralRegister32 destination, MMXRegister source, byte imm8) {
        assemble0994((byte) 0xC5, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pextrw  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pextrw    eax, mm0, 0x12}
     */
    // Template#: 7665, Serial#: 8044
    public void pextrw_r8044(AMD64GeneralRegister32 destination, MMXRegister source, byte imm8) {
        assemble0995((byte) 0xC5, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pextrw  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pextrw    eax, mm0, 0x12}
     */
    // Template#: 7666, Serial#: 8045
    public void pextrw_r8045(AMD64GeneralRegister32 destination, MMXRegister source, byte imm8) {
        assemble0996((byte) 0xC5, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pinsrw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pinsrw    xmm0, rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 7667, Serial#: 8111
    public void pinsrw(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0997((byte) 0xC4, destination, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pinsrw  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pinsrw    xmm0, [rbx + 18], 0x12}
     */
    // Template#: 7668, Serial#: 8110
    public void pinsrw(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        assemble0998((byte) 0xC4, destination, disp8, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pinsrw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pinsrw    xmm0, rbx[rsi * 4], 0x12}
     */
    // Template#: 7669, Serial#: 8107
    public void pinsrw(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0999((byte) 0xC4, destination, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pinsrw  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pinsrw    xmm0, eax, 0x12}
     */
    // Template#: 7670, Serial#: 8114
    public void pinsrw(AMD64XMMRegister destination, AMD64GeneralRegister32 source, byte imm8) {
        assemble1000((byte) 0xC4, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pinsrw  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pinsrw    xmm0, [rbx], 0x12}
     */
    // Template#: 7671, Serial#: 8106
    public void pinsrw(AMD64XMMRegister destination, AMD64IndirectRegister64 source, byte imm8) {
        assemble1001((byte) 0xC4, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pinsrw  }<i>destination</i>, <i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pinsrw    xmm0, [L1: +305419896], 0x12}
     */
    // Template#: 7672, Serial#: 8109
    public void rip_pinsrw(AMD64XMMRegister destination, int rel32, byte imm8) {
        assemble1002((byte) 0xC4, destination, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pinsrw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pinsrw    xmm0, rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 7673, Serial#: 8113
    public void pinsrw(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1003((byte) 0xC4, destination, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pinsrw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pinsrw    xmm0, 0x12345678[rsi * 4], 0x12}
     */
    // Template#: 7674, Serial#: 8108
    public void m_pinsrw(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1004((byte) 0xC4, destination, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pinsrw  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pinsrw    xmm0, [rbx + 305419896], 0x12}
     */
    // Template#: 7675, Serial#: 8112
    public void pinsrw(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        assemble1005((byte) 0xC4, destination, disp32, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pinsrw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pinsrw    mm0, rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 7676, Serial#: 8039
    public void pinsrw(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1006((byte) 0xC4, destination, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pinsrw  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pinsrw    mm0, [rbx + 18], 0x12}
     */
    // Template#: 7677, Serial#: 8038
    public void pinsrw(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        assemble1007((byte) 0xC4, destination, disp8, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pinsrw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pinsrw    mm0, rbx[rsi * 4], 0x12}
     */
    // Template#: 7678, Serial#: 8035
    public void pinsrw(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1008((byte) 0xC4, destination, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pinsrw  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pinsrw    mm0, eax, 0x12}
     */
    // Template#: 7679, Serial#: 8042
    public void pinsrw(MMXRegister destination, AMD64GeneralRegister32 source, byte imm8) {
        assemble1009((byte) 0xC4, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pinsrw  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pinsrw    mm0, [rbx], 0x12}
     */
    // Template#: 7680, Serial#: 8034
    public void pinsrw(MMXRegister destination, AMD64IndirectRegister64 source, byte imm8) {
        assemble1010((byte) 0xC4, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pinsrw  }<i>destination</i>, <i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pinsrw    mm0, [L1: +305419896], 0x12}
     */
    // Template#: 7681, Serial#: 8037
    public void rip_pinsrw(MMXRegister destination, int rel32, byte imm8) {
        assemble1011((byte) 0xC4, destination, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pinsrw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pinsrw    mm0, rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 7682, Serial#: 8041
    public void pinsrw(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1012((byte) 0xC4, destination, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pinsrw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pinsrw    mm0, 0x12345678[rsi * 4], 0x12}
     */
    // Template#: 7683, Serial#: 8036
    public void m_pinsrw(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1013((byte) 0xC4, destination, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pinsrw  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pinsrw    mm0, [rbx + 305419896], 0x12}
     */
    // Template#: 7684, Serial#: 8040
    public void pinsrw(MMXRegister destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        assemble1014((byte) 0xC4, destination, disp32, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaddwd   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7685, Serial#: 9059
    public void pmaddwd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xF5, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaddwd   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7686, Serial#: 9068
    public void pmaddwd_r9068(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xF5, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaddwd   xmm0, [rbx + 18]}
     */
    // Template#: 7687, Serial#: 9058
    public void pmaddwd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xF5, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaddwd   xmm0, [rbx + 18]}
     */
    // Template#: 7688, Serial#: 9067
    public void pmaddwd_r9067(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xF5, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaddwd   xmm0, rbx[rsi * 4]}
     */
    // Template#: 7689, Serial#: 9055
    public void pmaddwd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xF5, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaddwd   xmm0, rbx[rsi * 4]}
     */
    // Template#: 7690, Serial#: 9064
    public void pmaddwd_r9064(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xF5, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaddwd   xmm0, [rbx]}
     */
    // Template#: 7691, Serial#: 9054
    public void pmaddwd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xF5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaddwd   xmm0, [rbx]}
     */
    // Template#: 7692, Serial#: 9063
    public void pmaddwd_r9063(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xF5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaddwd   xmm0, xmm0}
     */
    // Template#: 7693, Serial#: 9062
    public void pmaddwd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xF5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaddwd   xmm0, xmm0}
     */
    // Template#: 7694, Serial#: 9071
    public void pmaddwd_r9071(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xF5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmaddwd   xmm0, [L1: +305419896]}
     */
    // Template#: 7695, Serial#: 9057
    public void rip_pmaddwd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xF5, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmaddwd   xmm0, [L1: +305419896]}
     */
    // Template#: 7696, Serial#: 9066
    public void rip_pmaddwd_r9066(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xF5, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaddwd   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7697, Serial#: 9061
    public void pmaddwd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xF5, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaddwd   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7698, Serial#: 9070
    public void pmaddwd_r9070(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xF5, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaddwd   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7699, Serial#: 9056
    public void m_pmaddwd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xF5, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaddwd   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7700, Serial#: 9065
    public void m_pmaddwd_r9065(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xF5, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaddwd   xmm0, [rbx + 305419896]}
     */
    // Template#: 7701, Serial#: 9060
    public void pmaddwd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xF5, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaddwd   xmm0, [rbx + 305419896]}
     */
    // Template#: 7702, Serial#: 9069
    public void pmaddwd_r9069(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xF5, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaddwd   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7703, Serial#: 8930
    public void pmaddwd(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xF5, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaddwd   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7704, Serial#: 8939
    public void pmaddwd_r8939(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xF5, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaddwd   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7705, Serial#: 8948
    public void pmaddwd_r8948(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xF5, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaddwd   mm0, [rbx + 18]}
     */
    // Template#: 7706, Serial#: 8929
    public void pmaddwd(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xF5, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaddwd   mm0, [rbx + 18]}
     */
    // Template#: 7707, Serial#: 8938
    public void pmaddwd_r8938(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xF5, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaddwd   mm0, [rbx + 18]}
     */
    // Template#: 7708, Serial#: 8947
    public void pmaddwd_r8947(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xF5, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaddwd   mm0, rbx[rsi * 4]}
     */
    // Template#: 7709, Serial#: 8926
    public void pmaddwd(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xF5, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaddwd   mm0, rbx[rsi * 4]}
     */
    // Template#: 7710, Serial#: 8935
    public void pmaddwd_r8935(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xF5, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaddwd   mm0, rbx[rsi * 4]}
     */
    // Template#: 7711, Serial#: 8944
    public void pmaddwd_r8944(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xF5, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaddwd   mm0, [rbx]}
     */
    // Template#: 7712, Serial#: 8925
    public void pmaddwd(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xF5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaddwd   mm0, [rbx]}
     */
    // Template#: 7713, Serial#: 8934
    public void pmaddwd_r8934(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xF5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaddwd   mm0, [rbx]}
     */
    // Template#: 7714, Serial#: 8943
    public void pmaddwd_r8943(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xF5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaddwd   mm0, mm0}
     */
    // Template#: 7715, Serial#: 8933
    public void pmaddwd(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xF5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaddwd   mm0, mm0}
     */
    // Template#: 7716, Serial#: 8942
    public void pmaddwd_r8942(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xF5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaddwd   mm0, mm0}
     */
    // Template#: 7717, Serial#: 8951
    public void pmaddwd_r8951(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xF5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmaddwd   mm0, [L1: +305419896]}
     */
    // Template#: 7718, Serial#: 8928
    public void rip_pmaddwd(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xF5, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmaddwd   mm0, [L1: +305419896]}
     */
    // Template#: 7719, Serial#: 8937
    public void rip_pmaddwd_r8937(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xF5, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmaddwd   mm0, [L1: +305419896]}
     */
    // Template#: 7720, Serial#: 8946
    public void rip_pmaddwd_r8946(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xF5, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaddwd   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7721, Serial#: 8932
    public void pmaddwd(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xF5, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaddwd   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7722, Serial#: 8941
    public void pmaddwd_r8941(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xF5, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaddwd   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7723, Serial#: 8950
    public void pmaddwd_r8950(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xF5, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaddwd   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7724, Serial#: 8927
    public void m_pmaddwd(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xF5, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaddwd   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7725, Serial#: 8936
    public void m_pmaddwd_r8936(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xF5, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaddwd   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7726, Serial#: 8945
    public void m_pmaddwd_r8945(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xF5, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaddwd   mm0, [rbx + 305419896]}
     */
    // Template#: 7727, Serial#: 8931
    public void pmaddwd(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xF5, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaddwd   mm0, [rbx + 305419896]}
     */
    // Template#: 7728, Serial#: 8940
    public void pmaddwd_r8940(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xF5, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaddwd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaddwd   mm0, [rbx + 305419896]}
     */
    // Template#: 7729, Serial#: 8949
    public void pmaddwd_r8949(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xF5, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxsw    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7730, Serial#: 12415
    public void pmaxsw(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xEE, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxsw    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7731, Serial#: 12424
    public void pmaxsw_r12424(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xEE, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxsw    xmm0, [rbx + 18]}
     */
    // Template#: 7732, Serial#: 12414
    public void pmaxsw(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xEE, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxsw    xmm0, [rbx + 18]}
     */
    // Template#: 7733, Serial#: 12423
    public void pmaxsw_r12423(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xEE, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxsw    xmm0, rbx[rsi * 4]}
     */
    // Template#: 7734, Serial#: 12411
    public void pmaxsw(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xEE, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxsw    xmm0, rbx[rsi * 4]}
     */
    // Template#: 7735, Serial#: 12420
    public void pmaxsw_r12420(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xEE, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxsw    xmm0, [rbx]}
     */
    // Template#: 7736, Serial#: 12410
    public void pmaxsw(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xEE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxsw    xmm0, [rbx]}
     */
    // Template#: 7737, Serial#: 12419
    public void pmaxsw_r12419(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xEE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxsw    xmm0, xmm0}
     */
    // Template#: 7738, Serial#: 12418
    public void pmaxsw(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xEE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxsw    xmm0, xmm0}
     */
    // Template#: 7739, Serial#: 12427
    public void pmaxsw_r12427(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xEE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmaxsw    xmm0, [L1: +305419896]}
     */
    // Template#: 7740, Serial#: 12413
    public void rip_pmaxsw(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xEE, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmaxsw    xmm0, [L1: +305419896]}
     */
    // Template#: 7741, Serial#: 12422
    public void rip_pmaxsw_r12422(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xEE, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxsw    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7742, Serial#: 12417
    public void pmaxsw(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xEE, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxsw    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7743, Serial#: 12426
    public void pmaxsw_r12426(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xEE, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxsw    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7744, Serial#: 12412
    public void m_pmaxsw(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xEE, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxsw    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7745, Serial#: 12421
    public void m_pmaxsw_r12421(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xEE, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxsw    xmm0, [rbx + 305419896]}
     */
    // Template#: 7746, Serial#: 12416
    public void pmaxsw(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xEE, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxsw    xmm0, [rbx + 305419896]}
     */
    // Template#: 7747, Serial#: 12425
    public void pmaxsw_r12425(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xEE, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxsw    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7748, Serial#: 12253
    public void pmaxsw(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xEE, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxsw    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7749, Serial#: 12262
    public void pmaxsw_r12262(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xEE, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxsw    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7750, Serial#: 12271
    public void pmaxsw_r12271(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xEE, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxsw    mm0, [rbx + 18]}
     */
    // Template#: 7751, Serial#: 12252
    public void pmaxsw(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xEE, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxsw    mm0, [rbx + 18]}
     */
    // Template#: 7752, Serial#: 12261
    public void pmaxsw_r12261(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xEE, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxsw    mm0, [rbx + 18]}
     */
    // Template#: 7753, Serial#: 12270
    public void pmaxsw_r12270(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xEE, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxsw    mm0, rbx[rsi * 4]}
     */
    // Template#: 7754, Serial#: 12249
    public void pmaxsw(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xEE, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxsw    mm0, rbx[rsi * 4]}
     */
    // Template#: 7755, Serial#: 12258
    public void pmaxsw_r12258(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xEE, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxsw    mm0, rbx[rsi * 4]}
     */
    // Template#: 7756, Serial#: 12267
    public void pmaxsw_r12267(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xEE, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxsw    mm0, [rbx]}
     */
    // Template#: 7757, Serial#: 12248
    public void pmaxsw(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xEE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxsw    mm0, [rbx]}
     */
    // Template#: 7758, Serial#: 12257
    public void pmaxsw_r12257(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xEE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxsw    mm0, [rbx]}
     */
    // Template#: 7759, Serial#: 12266
    public void pmaxsw_r12266(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xEE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxsw    mm0, mm0}
     */
    // Template#: 7760, Serial#: 12256
    public void pmaxsw(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xEE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxsw    mm0, mm0}
     */
    // Template#: 7761, Serial#: 12265
    public void pmaxsw_r12265(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xEE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxsw    mm0, mm0}
     */
    // Template#: 7762, Serial#: 12274
    public void pmaxsw_r12274(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xEE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmaxsw    mm0, [L1: +305419896]}
     */
    // Template#: 7763, Serial#: 12251
    public void rip_pmaxsw(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xEE, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmaxsw    mm0, [L1: +305419896]}
     */
    // Template#: 7764, Serial#: 12260
    public void rip_pmaxsw_r12260(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xEE, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmaxsw    mm0, [L1: +305419896]}
     */
    // Template#: 7765, Serial#: 12269
    public void rip_pmaxsw_r12269(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xEE, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxsw    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7766, Serial#: 12255
    public void pmaxsw(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xEE, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxsw    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7767, Serial#: 12264
    public void pmaxsw_r12264(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xEE, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxsw    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7768, Serial#: 12273
    public void pmaxsw_r12273(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xEE, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxsw    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7769, Serial#: 12250
    public void m_pmaxsw(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xEE, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxsw    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7770, Serial#: 12259
    public void m_pmaxsw_r12259(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xEE, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxsw    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7771, Serial#: 12268
    public void m_pmaxsw_r12268(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xEE, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxsw    mm0, [rbx + 305419896]}
     */
    // Template#: 7772, Serial#: 12254
    public void pmaxsw(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xEE, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxsw    mm0, [rbx + 305419896]}
     */
    // Template#: 7773, Serial#: 12263
    public void pmaxsw_r12263(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xEE, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxsw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxsw    mm0, [rbx + 305419896]}
     */
    // Template#: 7774, Serial#: 12272
    public void pmaxsw_r12272(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xEE, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxub    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7775, Serial#: 12055
    public void pmaxub(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xDE, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxub    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7776, Serial#: 12064
    public void pmaxub_r12064(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xDE, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxub    xmm0, [rbx + 18]}
     */
    // Template#: 7777, Serial#: 12054
    public void pmaxub(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xDE, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxub    xmm0, [rbx + 18]}
     */
    // Template#: 7778, Serial#: 12063
    public void pmaxub_r12063(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xDE, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxub    xmm0, rbx[rsi * 4]}
     */
    // Template#: 7779, Serial#: 12051
    public void pmaxub(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xDE, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxub    xmm0, rbx[rsi * 4]}
     */
    // Template#: 7780, Serial#: 12060
    public void pmaxub_r12060(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xDE, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxub    xmm0, [rbx]}
     */
    // Template#: 7781, Serial#: 12050
    public void pmaxub(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xDE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxub    xmm0, [rbx]}
     */
    // Template#: 7782, Serial#: 12059
    public void pmaxub_r12059(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xDE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxub    xmm0, xmm0}
     */
    // Template#: 7783, Serial#: 12058
    public void pmaxub(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xDE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxub    xmm0, xmm0}
     */
    // Template#: 7784, Serial#: 12067
    public void pmaxub_r12067(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xDE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmaxub    xmm0, [L1: +305419896]}
     */
    // Template#: 7785, Serial#: 12053
    public void rip_pmaxub(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xDE, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmaxub    xmm0, [L1: +305419896]}
     */
    // Template#: 7786, Serial#: 12062
    public void rip_pmaxub_r12062(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xDE, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxub    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7787, Serial#: 12057
    public void pmaxub(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xDE, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxub    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7788, Serial#: 12066
    public void pmaxub_r12066(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xDE, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxub    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7789, Serial#: 12052
    public void m_pmaxub(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xDE, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxub    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7790, Serial#: 12061
    public void m_pmaxub_r12061(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xDE, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxub    xmm0, [rbx + 305419896]}
     */
    // Template#: 7791, Serial#: 12056
    public void pmaxub(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xDE, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxub    xmm0, [rbx + 305419896]}
     */
    // Template#: 7792, Serial#: 12065
    public void pmaxub_r12065(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xDE, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxub    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7793, Serial#: 11893
    public void pmaxub(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xDE, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxub    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7794, Serial#: 11902
    public void pmaxub_r11902(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xDE, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxub    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7795, Serial#: 11911
    public void pmaxub_r11911(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xDE, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxub    mm0, [rbx + 18]}
     */
    // Template#: 7796, Serial#: 11892
    public void pmaxub(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xDE, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxub    mm0, [rbx + 18]}
     */
    // Template#: 7797, Serial#: 11901
    public void pmaxub_r11901(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xDE, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxub    mm0, [rbx + 18]}
     */
    // Template#: 7798, Serial#: 11910
    public void pmaxub_r11910(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xDE, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxub    mm0, rbx[rsi * 4]}
     */
    // Template#: 7799, Serial#: 11889
    public void pmaxub(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xDE, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxub    mm0, rbx[rsi * 4]}
     */
    // Template#: 7800, Serial#: 11898
    public void pmaxub_r11898(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xDE, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxub    mm0, rbx[rsi * 4]}
     */
    // Template#: 7801, Serial#: 11907
    public void pmaxub_r11907(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xDE, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxub    mm0, [rbx]}
     */
    // Template#: 7802, Serial#: 11888
    public void pmaxub(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xDE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxub    mm0, [rbx]}
     */
    // Template#: 7803, Serial#: 11897
    public void pmaxub_r11897(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xDE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxub    mm0, [rbx]}
     */
    // Template#: 7804, Serial#: 11906
    public void pmaxub_r11906(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xDE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxub    mm0, mm0}
     */
    // Template#: 7805, Serial#: 11896
    public void pmaxub(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xDE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxub    mm0, mm0}
     */
    // Template#: 7806, Serial#: 11905
    public void pmaxub_r11905(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xDE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxub    mm0, mm0}
     */
    // Template#: 7807, Serial#: 11914
    public void pmaxub_r11914(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xDE, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmaxub    mm0, [L1: +305419896]}
     */
    // Template#: 7808, Serial#: 11891
    public void rip_pmaxub(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xDE, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmaxub    mm0, [L1: +305419896]}
     */
    // Template#: 7809, Serial#: 11900
    public void rip_pmaxub_r11900(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xDE, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmaxub    mm0, [L1: +305419896]}
     */
    // Template#: 7810, Serial#: 11909
    public void rip_pmaxub_r11909(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xDE, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxub    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7811, Serial#: 11895
    public void pmaxub(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xDE, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxub    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7812, Serial#: 11904
    public void pmaxub_r11904(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xDE, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxub    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7813, Serial#: 11913
    public void pmaxub_r11913(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xDE, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxub    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7814, Serial#: 11890
    public void m_pmaxub(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xDE, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxub    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7815, Serial#: 11899
    public void m_pmaxub_r11899(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xDE, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmaxub    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7816, Serial#: 11908
    public void m_pmaxub_r11908(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xDE, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxub    mm0, [rbx + 305419896]}
     */
    // Template#: 7817, Serial#: 11894
    public void pmaxub(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xDE, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxub    mm0, [rbx + 305419896]}
     */
    // Template#: 7818, Serial#: 11903
    public void pmaxub_r11903(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xDE, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmaxub  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmaxub    mm0, [rbx + 305419896]}
     */
    // Template#: 7819, Serial#: 11912
    public void pmaxub_r11912(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xDE, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminsw    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7820, Serial#: 12343
    public void pminsw(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xEA, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminsw    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7821, Serial#: 12352
    public void pminsw_r12352(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xEA, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pminsw    xmm0, [rbx + 18]}
     */
    // Template#: 7822, Serial#: 12342
    public void pminsw(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xEA, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pminsw    xmm0, [rbx + 18]}
     */
    // Template#: 7823, Serial#: 12351
    public void pminsw_r12351(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xEA, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminsw    xmm0, rbx[rsi * 4]}
     */
    // Template#: 7824, Serial#: 12339
    public void pminsw(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xEA, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminsw    xmm0, rbx[rsi * 4]}
     */
    // Template#: 7825, Serial#: 12348
    public void pminsw_r12348(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xEA, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pminsw    xmm0, [rbx]}
     */
    // Template#: 7826, Serial#: 12338
    public void pminsw(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xEA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pminsw    xmm0, [rbx]}
     */
    // Template#: 7827, Serial#: 12347
    public void pminsw_r12347(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xEA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pminsw    xmm0, xmm0}
     */
    // Template#: 7828, Serial#: 12346
    public void pminsw(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xEA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pminsw    xmm0, xmm0}
     */
    // Template#: 7829, Serial#: 12355
    public void pminsw_r12355(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xEA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pminsw    xmm0, [L1: +305419896]}
     */
    // Template#: 7830, Serial#: 12341
    public void rip_pminsw(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xEA, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pminsw    xmm0, [L1: +305419896]}
     */
    // Template#: 7831, Serial#: 12350
    public void rip_pminsw_r12350(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xEA, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminsw    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7832, Serial#: 12345
    public void pminsw(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xEA, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminsw    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7833, Serial#: 12354
    public void pminsw_r12354(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xEA, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminsw    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7834, Serial#: 12340
    public void m_pminsw(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xEA, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminsw    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7835, Serial#: 12349
    public void m_pminsw_r12349(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xEA, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pminsw    xmm0, [rbx + 305419896]}
     */
    // Template#: 7836, Serial#: 12344
    public void pminsw(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xEA, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pminsw    xmm0, [rbx + 305419896]}
     */
    // Template#: 7837, Serial#: 12353
    public void pminsw_r12353(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xEA, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminsw    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7838, Serial#: 12145
    public void pminsw(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xEA, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminsw    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7839, Serial#: 12154
    public void pminsw_r12154(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xEA, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminsw    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7840, Serial#: 12163
    public void pminsw_r12163(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xEA, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pminsw    mm0, [rbx + 18]}
     */
    // Template#: 7841, Serial#: 12144
    public void pminsw(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xEA, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pminsw    mm0, [rbx + 18]}
     */
    // Template#: 7842, Serial#: 12153
    public void pminsw_r12153(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xEA, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pminsw    mm0, [rbx + 18]}
     */
    // Template#: 7843, Serial#: 12162
    public void pminsw_r12162(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xEA, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminsw    mm0, rbx[rsi * 4]}
     */
    // Template#: 7844, Serial#: 12141
    public void pminsw(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xEA, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminsw    mm0, rbx[rsi * 4]}
     */
    // Template#: 7845, Serial#: 12150
    public void pminsw_r12150(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xEA, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminsw    mm0, rbx[rsi * 4]}
     */
    // Template#: 7846, Serial#: 12159
    public void pminsw_r12159(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xEA, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pminsw    mm0, [rbx]}
     */
    // Template#: 7847, Serial#: 12140
    public void pminsw(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xEA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pminsw    mm0, [rbx]}
     */
    // Template#: 7848, Serial#: 12149
    public void pminsw_r12149(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xEA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pminsw    mm0, [rbx]}
     */
    // Template#: 7849, Serial#: 12158
    public void pminsw_r12158(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xEA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pminsw    mm0, mm0}
     */
    // Template#: 7850, Serial#: 12148
    public void pminsw(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xEA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pminsw    mm0, mm0}
     */
    // Template#: 7851, Serial#: 12157
    public void pminsw_r12157(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xEA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pminsw    mm0, mm0}
     */
    // Template#: 7852, Serial#: 12166
    public void pminsw_r12166(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xEA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pminsw    mm0, [L1: +305419896]}
     */
    // Template#: 7853, Serial#: 12143
    public void rip_pminsw(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xEA, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pminsw    mm0, [L1: +305419896]}
     */
    // Template#: 7854, Serial#: 12152
    public void rip_pminsw_r12152(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xEA, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pminsw    mm0, [L1: +305419896]}
     */
    // Template#: 7855, Serial#: 12161
    public void rip_pminsw_r12161(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xEA, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminsw    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7856, Serial#: 12147
    public void pminsw(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xEA, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminsw    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7857, Serial#: 12156
    public void pminsw_r12156(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xEA, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminsw    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7858, Serial#: 12165
    public void pminsw_r12165(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xEA, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminsw    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7859, Serial#: 12142
    public void m_pminsw(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xEA, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminsw    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7860, Serial#: 12151
    public void m_pminsw_r12151(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xEA, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminsw    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7861, Serial#: 12160
    public void m_pminsw_r12160(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xEA, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pminsw    mm0, [rbx + 305419896]}
     */
    // Template#: 7862, Serial#: 12146
    public void pminsw(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xEA, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pminsw    mm0, [rbx + 305419896]}
     */
    // Template#: 7863, Serial#: 12155
    public void pminsw_r12155(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xEA, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminsw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pminsw    mm0, [rbx + 305419896]}
     */
    // Template#: 7864, Serial#: 12164
    public void pminsw_r12164(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xEA, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminub    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7865, Serial#: 11983
    public void pminub(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xDA, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminub    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7866, Serial#: 11992
    public void pminub_r11992(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xDA, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pminub    xmm0, [rbx + 18]}
     */
    // Template#: 7867, Serial#: 11982
    public void pminub(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xDA, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pminub    xmm0, [rbx + 18]}
     */
    // Template#: 7868, Serial#: 11991
    public void pminub_r11991(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xDA, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminub    xmm0, rbx[rsi * 4]}
     */
    // Template#: 7869, Serial#: 11979
    public void pminub(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xDA, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminub    xmm0, rbx[rsi * 4]}
     */
    // Template#: 7870, Serial#: 11988
    public void pminub_r11988(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xDA, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pminub    xmm0, [rbx]}
     */
    // Template#: 7871, Serial#: 11978
    public void pminub(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xDA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pminub    xmm0, [rbx]}
     */
    // Template#: 7872, Serial#: 11987
    public void pminub_r11987(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xDA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pminub    xmm0, xmm0}
     */
    // Template#: 7873, Serial#: 11986
    public void pminub(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xDA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pminub    xmm0, xmm0}
     */
    // Template#: 7874, Serial#: 11995
    public void pminub_r11995(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xDA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pminub    xmm0, [L1: +305419896]}
     */
    // Template#: 7875, Serial#: 11981
    public void rip_pminub(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xDA, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pminub    xmm0, [L1: +305419896]}
     */
    // Template#: 7876, Serial#: 11990
    public void rip_pminub_r11990(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xDA, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminub    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7877, Serial#: 11985
    public void pminub(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xDA, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminub    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7878, Serial#: 11994
    public void pminub_r11994(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xDA, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminub    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7879, Serial#: 11980
    public void m_pminub(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xDA, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminub    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7880, Serial#: 11989
    public void m_pminub_r11989(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xDA, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pminub    xmm0, [rbx + 305419896]}
     */
    // Template#: 7881, Serial#: 11984
    public void pminub(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xDA, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pminub    xmm0, [rbx + 305419896]}
     */
    // Template#: 7882, Serial#: 11993
    public void pminub_r11993(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xDA, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminub    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7883, Serial#: 11785
    public void pminub(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xDA, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminub    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7884, Serial#: 11794
    public void pminub_r11794(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xDA, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminub    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7885, Serial#: 11803
    public void pminub_r11803(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xDA, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pminub    mm0, [rbx + 18]}
     */
    // Template#: 7886, Serial#: 11784
    public void pminub(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xDA, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pminub    mm0, [rbx + 18]}
     */
    // Template#: 7887, Serial#: 11793
    public void pminub_r11793(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xDA, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pminub    mm0, [rbx + 18]}
     */
    // Template#: 7888, Serial#: 11802
    public void pminub_r11802(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xDA, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminub    mm0, rbx[rsi * 4]}
     */
    // Template#: 7889, Serial#: 11781
    public void pminub(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xDA, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminub    mm0, rbx[rsi * 4]}
     */
    // Template#: 7890, Serial#: 11790
    public void pminub_r11790(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xDA, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminub    mm0, rbx[rsi * 4]}
     */
    // Template#: 7891, Serial#: 11799
    public void pminub_r11799(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xDA, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pminub    mm0, [rbx]}
     */
    // Template#: 7892, Serial#: 11780
    public void pminub(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xDA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pminub    mm0, [rbx]}
     */
    // Template#: 7893, Serial#: 11789
    public void pminub_r11789(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xDA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pminub    mm0, [rbx]}
     */
    // Template#: 7894, Serial#: 11798
    public void pminub_r11798(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xDA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pminub    mm0, mm0}
     */
    // Template#: 7895, Serial#: 11788
    public void pminub(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xDA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pminub    mm0, mm0}
     */
    // Template#: 7896, Serial#: 11797
    public void pminub_r11797(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xDA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pminub    mm0, mm0}
     */
    // Template#: 7897, Serial#: 11806
    public void pminub_r11806(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xDA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pminub    mm0, [L1: +305419896]}
     */
    // Template#: 7898, Serial#: 11783
    public void rip_pminub(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xDA, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pminub    mm0, [L1: +305419896]}
     */
    // Template#: 7899, Serial#: 11792
    public void rip_pminub_r11792(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xDA, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pminub    mm0, [L1: +305419896]}
     */
    // Template#: 7900, Serial#: 11801
    public void rip_pminub_r11801(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xDA, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminub    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7901, Serial#: 11787
    public void pminub(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xDA, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminub    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7902, Serial#: 11796
    public void pminub_r11796(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xDA, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminub    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7903, Serial#: 11805
    public void pminub_r11805(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xDA, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminub    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7904, Serial#: 11782
    public void m_pminub(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xDA, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminub    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7905, Serial#: 11791
    public void m_pminub_r11791(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xDA, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pminub    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7906, Serial#: 11800
    public void m_pminub_r11800(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xDA, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pminub    mm0, [rbx + 305419896]}
     */
    // Template#: 7907, Serial#: 11786
    public void pminub(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xDA, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pminub    mm0, [rbx + 305419896]}
     */
    // Template#: 7908, Serial#: 11795
    public void pminub_r11795(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xDA, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pminub  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pminub    mm0, [rbx + 305419896]}
     */
    // Template#: 7909, Serial#: 11804
    public void pminub_r11804(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xDA, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmovmskb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmovmskb  eax, xmm0}
     */
    // Template#: 7910, Serial#: 8436
    public void pmovmskb(AMD64GeneralRegister32 destination, AMD64XMMRegister source) {
        assemble0930((byte) 0xD7, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmovmskb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmovmskb  eax, xmm0}
     */
    // Template#: 7911, Serial#: 8437
    public void pmovmskb_r8437(AMD64GeneralRegister32 destination, AMD64XMMRegister source) {
        assemble0931((byte) 0xD7, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmovmskb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmovmskb  eax, xmm0}
     */
    // Template#: 7912, Serial#: 8438
    public void pmovmskb_r8438(AMD64GeneralRegister32 destination, AMD64XMMRegister source) {
        assemble0932((byte) 0xD7, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmovmskb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmovmskb  eax, mm0}
     */
    // Template#: 7913, Serial#: 8307
    public void pmovmskb(AMD64GeneralRegister32 destination, MMXRegister source) {
        assemble1015((byte) 0xD7, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmovmskb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmovmskb  eax, mm0}
     */
    // Template#: 7914, Serial#: 8308
    public void pmovmskb_r8308(AMD64GeneralRegister32 destination, MMXRegister source) {
        assemble1016((byte) 0xD7, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmovmskb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmovmskb  eax, mm0}
     */
    // Template#: 7915, Serial#: 8309
    public void pmovmskb_r8309(AMD64GeneralRegister32 destination, MMXRegister source) {
        assemble1017((byte) 0xD7, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhuw   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7916, Serial#: 8708
    public void pmulhuw(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xE4, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhuw   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7917, Serial#: 8717
    public void pmulhuw_r8717(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xE4, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhuw   xmm0, [rbx + 18]}
     */
    // Template#: 7918, Serial#: 8707
    public void pmulhuw(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xE4, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhuw   xmm0, [rbx + 18]}
     */
    // Template#: 7919, Serial#: 8716
    public void pmulhuw_r8716(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xE4, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhuw   xmm0, rbx[rsi * 4]}
     */
    // Template#: 7920, Serial#: 8704
    public void pmulhuw(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xE4, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhuw   xmm0, rbx[rsi * 4]}
     */
    // Template#: 7921, Serial#: 8713
    public void pmulhuw_r8713(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xE4, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhuw   xmm0, [rbx]}
     */
    // Template#: 7922, Serial#: 8703
    public void pmulhuw(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xE4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhuw   xmm0, [rbx]}
     */
    // Template#: 7923, Serial#: 8712
    public void pmulhuw_r8712(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xE4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhuw   xmm0, xmm0}
     */
    // Template#: 7924, Serial#: 8711
    public void pmulhuw(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xE4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhuw   xmm0, xmm0}
     */
    // Template#: 7925, Serial#: 8720
    public void pmulhuw_r8720(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xE4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmulhuw   xmm0, [L1: +305419896]}
     */
    // Template#: 7926, Serial#: 8706
    public void rip_pmulhuw(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xE4, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmulhuw   xmm0, [L1: +305419896]}
     */
    // Template#: 7927, Serial#: 8715
    public void rip_pmulhuw_r8715(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xE4, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhuw   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7928, Serial#: 8710
    public void pmulhuw(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xE4, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhuw   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7929, Serial#: 8719
    public void pmulhuw_r8719(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xE4, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhuw   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7930, Serial#: 8705
    public void m_pmulhuw(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xE4, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhuw   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7931, Serial#: 8714
    public void m_pmulhuw_r8714(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xE4, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhuw   xmm0, [rbx + 305419896]}
     */
    // Template#: 7932, Serial#: 8709
    public void pmulhuw(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xE4, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhuw   xmm0, [rbx + 305419896]}
     */
    // Template#: 7933, Serial#: 8718
    public void pmulhuw_r8718(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xE4, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhuw   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7934, Serial#: 8558
    public void pmulhuw(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xE4, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhuw   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7935, Serial#: 8567
    public void pmulhuw_r8567(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xE4, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhuw   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7936, Serial#: 8576
    public void pmulhuw_r8576(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xE4, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhuw   mm0, [rbx + 18]}
     */
    // Template#: 7937, Serial#: 8557
    public void pmulhuw(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xE4, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhuw   mm0, [rbx + 18]}
     */
    // Template#: 7938, Serial#: 8566
    public void pmulhuw_r8566(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xE4, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhuw   mm0, [rbx + 18]}
     */
    // Template#: 7939, Serial#: 8575
    public void pmulhuw_r8575(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xE4, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhuw   mm0, rbx[rsi * 4]}
     */
    // Template#: 7940, Serial#: 8554
    public void pmulhuw(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xE4, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhuw   mm0, rbx[rsi * 4]}
     */
    // Template#: 7941, Serial#: 8563
    public void pmulhuw_r8563(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xE4, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhuw   mm0, rbx[rsi * 4]}
     */
    // Template#: 7942, Serial#: 8572
    public void pmulhuw_r8572(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xE4, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhuw   mm0, [rbx]}
     */
    // Template#: 7943, Serial#: 8553
    public void pmulhuw(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xE4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhuw   mm0, [rbx]}
     */
    // Template#: 7944, Serial#: 8562
    public void pmulhuw_r8562(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xE4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhuw   mm0, [rbx]}
     */
    // Template#: 7945, Serial#: 8571
    public void pmulhuw_r8571(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xE4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhuw   mm0, mm0}
     */
    // Template#: 7946, Serial#: 8561
    public void pmulhuw(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xE4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhuw   mm0, mm0}
     */
    // Template#: 7947, Serial#: 8570
    public void pmulhuw_r8570(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xE4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhuw   mm0, mm0}
     */
    // Template#: 7948, Serial#: 8579
    public void pmulhuw_r8579(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xE4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmulhuw   mm0, [L1: +305419896]}
     */
    // Template#: 7949, Serial#: 8556
    public void rip_pmulhuw(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xE4, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmulhuw   mm0, [L1: +305419896]}
     */
    // Template#: 7950, Serial#: 8565
    public void rip_pmulhuw_r8565(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xE4, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmulhuw   mm0, [L1: +305419896]}
     */
    // Template#: 7951, Serial#: 8574
    public void rip_pmulhuw_r8574(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xE4, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhuw   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7952, Serial#: 8560
    public void pmulhuw(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xE4, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhuw   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7953, Serial#: 8569
    public void pmulhuw_r8569(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xE4, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhuw   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7954, Serial#: 8578
    public void pmulhuw_r8578(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xE4, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhuw   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7955, Serial#: 8555
    public void m_pmulhuw(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xE4, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhuw   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7956, Serial#: 8564
    public void m_pmulhuw_r8564(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xE4, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhuw   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7957, Serial#: 8573
    public void m_pmulhuw_r8573(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xE4, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhuw   mm0, [rbx + 305419896]}
     */
    // Template#: 7958, Serial#: 8559
    public void pmulhuw(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xE4, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhuw   mm0, [rbx + 305419896]}
     */
    // Template#: 7959, Serial#: 8568
    public void pmulhuw_r8568(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xE4, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhuw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhuw   mm0, [rbx + 305419896]}
     */
    // Template#: 7960, Serial#: 8577
    public void pmulhuw_r8577(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xE4, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhw    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7961, Serial#: 8726
    public void pmulhw(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xE5, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhw    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7962, Serial#: 8735
    public void pmulhw_r8735(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xE5, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhw    xmm0, [rbx + 18]}
     */
    // Template#: 7963, Serial#: 8725
    public void pmulhw(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xE5, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhw    xmm0, [rbx + 18]}
     */
    // Template#: 7964, Serial#: 8734
    public void pmulhw_r8734(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xE5, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhw    xmm0, rbx[rsi * 4]}
     */
    // Template#: 7965, Serial#: 8722
    public void pmulhw(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xE5, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhw    xmm0, rbx[rsi * 4]}
     */
    // Template#: 7966, Serial#: 8731
    public void pmulhw_r8731(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xE5, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhw    xmm0, [rbx]}
     */
    // Template#: 7967, Serial#: 8721
    public void pmulhw(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xE5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhw    xmm0, [rbx]}
     */
    // Template#: 7968, Serial#: 8730
    public void pmulhw_r8730(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xE5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhw    xmm0, xmm0}
     */
    // Template#: 7969, Serial#: 8729
    public void pmulhw(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xE5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhw    xmm0, xmm0}
     */
    // Template#: 7970, Serial#: 8738
    public void pmulhw_r8738(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xE5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmulhw    xmm0, [L1: +305419896]}
     */
    // Template#: 7971, Serial#: 8724
    public void rip_pmulhw(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xE5, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmulhw    xmm0, [L1: +305419896]}
     */
    // Template#: 7972, Serial#: 8733
    public void rip_pmulhw_r8733(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xE5, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhw    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7973, Serial#: 8728
    public void pmulhw(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xE5, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhw    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7974, Serial#: 8737
    public void pmulhw_r8737(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xE5, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhw    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7975, Serial#: 8723
    public void m_pmulhw(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xE5, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhw    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 7976, Serial#: 8732
    public void m_pmulhw_r8732(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xE5, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhw    xmm0, [rbx + 305419896]}
     */
    // Template#: 7977, Serial#: 8727
    public void pmulhw(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xE5, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhw    xmm0, [rbx + 305419896]}
     */
    // Template#: 7978, Serial#: 8736
    public void pmulhw_r8736(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xE5, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhw    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7979, Serial#: 8585
    public void pmulhw(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xE5, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhw    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7980, Serial#: 8594
    public void pmulhw_r8594(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xE5, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhw    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 7981, Serial#: 8603
    public void pmulhw_r8603(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xE5, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhw    mm0, [rbx + 18]}
     */
    // Template#: 7982, Serial#: 8584
    public void pmulhw(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xE5, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhw    mm0, [rbx + 18]}
     */
    // Template#: 7983, Serial#: 8593
    public void pmulhw_r8593(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xE5, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhw    mm0, [rbx + 18]}
     */
    // Template#: 7984, Serial#: 8602
    public void pmulhw_r8602(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xE5, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhw    mm0, rbx[rsi * 4]}
     */
    // Template#: 7985, Serial#: 8581
    public void pmulhw(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xE5, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhw    mm0, rbx[rsi * 4]}
     */
    // Template#: 7986, Serial#: 8590
    public void pmulhw_r8590(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xE5, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhw    mm0, rbx[rsi * 4]}
     */
    // Template#: 7987, Serial#: 8599
    public void pmulhw_r8599(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xE5, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhw    mm0, [rbx]}
     */
    // Template#: 7988, Serial#: 8580
    public void pmulhw(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xE5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhw    mm0, [rbx]}
     */
    // Template#: 7989, Serial#: 8589
    public void pmulhw_r8589(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xE5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhw    mm0, [rbx]}
     */
    // Template#: 7990, Serial#: 8598
    public void pmulhw_r8598(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xE5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhw    mm0, mm0}
     */
    // Template#: 7991, Serial#: 8588
    public void pmulhw(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xE5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhw    mm0, mm0}
     */
    // Template#: 7992, Serial#: 8597
    public void pmulhw_r8597(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xE5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhw    mm0, mm0}
     */
    // Template#: 7993, Serial#: 8606
    public void pmulhw_r8606(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xE5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmulhw    mm0, [L1: +305419896]}
     */
    // Template#: 7994, Serial#: 8583
    public void rip_pmulhw(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xE5, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmulhw    mm0, [L1: +305419896]}
     */
    // Template#: 7995, Serial#: 8592
    public void rip_pmulhw_r8592(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xE5, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmulhw    mm0, [L1: +305419896]}
     */
    // Template#: 7996, Serial#: 8601
    public void rip_pmulhw_r8601(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xE5, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhw    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7997, Serial#: 8587
    public void pmulhw(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xE5, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhw    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7998, Serial#: 8596
    public void pmulhw_r8596(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xE5, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhw    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 7999, Serial#: 8605
    public void pmulhw_r8605(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xE5, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhw    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8000, Serial#: 8582
    public void m_pmulhw(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xE5, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhw    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8001, Serial#: 8591
    public void m_pmulhw_r8591(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xE5, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmulhw    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8002, Serial#: 8600
    public void m_pmulhw_r8600(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xE5, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhw    mm0, [rbx + 305419896]}
     */
    // Template#: 8003, Serial#: 8586
    public void pmulhw(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xE5, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhw    mm0, [rbx + 305419896]}
     */
    // Template#: 8004, Serial#: 8595
    public void pmulhw_r8595(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xE5, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmulhw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmulhw    mm0, [rbx + 305419896]}
     */
    // Template#: 8005, Serial#: 8604
    public void pmulhw_r8604(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xE5, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmullw    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8006, Serial#: 8405
    public void pmullw(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xD5, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmullw    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8007, Serial#: 8414
    public void pmullw_r8414(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xD5, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmullw    xmm0, [rbx + 18]}
     */
    // Template#: 8008, Serial#: 8404
    public void pmullw(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xD5, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmullw    xmm0, [rbx + 18]}
     */
    // Template#: 8009, Serial#: 8413
    public void pmullw_r8413(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xD5, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmullw    xmm0, rbx[rsi * 4]}
     */
    // Template#: 8010, Serial#: 8401
    public void pmullw(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xD5, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmullw    xmm0, rbx[rsi * 4]}
     */
    // Template#: 8011, Serial#: 8410
    public void pmullw_r8410(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xD5, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmullw    xmm0, [rbx]}
     */
    // Template#: 8012, Serial#: 8400
    public void pmullw(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xD5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmullw    xmm0, [rbx]}
     */
    // Template#: 8013, Serial#: 8409
    public void pmullw_r8409(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xD5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmullw    xmm0, xmm0}
     */
    // Template#: 8014, Serial#: 8408
    public void pmullw(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xD5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmullw    xmm0, xmm0}
     */
    // Template#: 8015, Serial#: 8417
    public void pmullw_r8417(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xD5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmullw    xmm0, [L1: +305419896]}
     */
    // Template#: 8016, Serial#: 8403
    public void rip_pmullw(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xD5, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmullw    xmm0, [L1: +305419896]}
     */
    // Template#: 8017, Serial#: 8412
    public void rip_pmullw_r8412(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xD5, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmullw    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8018, Serial#: 8407
    public void pmullw(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xD5, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmullw    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8019, Serial#: 8416
    public void pmullw_r8416(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xD5, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmullw    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8020, Serial#: 8402
    public void m_pmullw(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xD5, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmullw    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8021, Serial#: 8411
    public void m_pmullw_r8411(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xD5, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmullw    xmm0, [rbx + 305419896]}
     */
    // Template#: 8022, Serial#: 8406
    public void pmullw(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xD5, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmullw    xmm0, [rbx + 305419896]}
     */
    // Template#: 8023, Serial#: 8415
    public void pmullw_r8415(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xD5, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmullw    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8024, Serial#: 8285
    public void pmullw(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xD5, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmullw    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8025, Serial#: 8294
    public void pmullw_r8294(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xD5, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmullw    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8026, Serial#: 8303
    public void pmullw_r8303(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xD5, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmullw    mm0, [rbx + 18]}
     */
    // Template#: 8027, Serial#: 8284
    public void pmullw(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xD5, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmullw    mm0, [rbx + 18]}
     */
    // Template#: 8028, Serial#: 8293
    public void pmullw_r8293(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xD5, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmullw    mm0, [rbx + 18]}
     */
    // Template#: 8029, Serial#: 8302
    public void pmullw_r8302(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xD5, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmullw    mm0, rbx[rsi * 4]}
     */
    // Template#: 8030, Serial#: 8281
    public void pmullw(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xD5, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmullw    mm0, rbx[rsi * 4]}
     */
    // Template#: 8031, Serial#: 8290
    public void pmullw_r8290(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xD5, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmullw    mm0, rbx[rsi * 4]}
     */
    // Template#: 8032, Serial#: 8299
    public void pmullw_r8299(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xD5, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmullw    mm0, [rbx]}
     */
    // Template#: 8033, Serial#: 8280
    public void pmullw(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xD5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmullw    mm0, [rbx]}
     */
    // Template#: 8034, Serial#: 8289
    public void pmullw_r8289(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xD5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmullw    mm0, [rbx]}
     */
    // Template#: 8035, Serial#: 8298
    public void pmullw_r8298(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xD5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmullw    mm0, mm0}
     */
    // Template#: 8036, Serial#: 8288
    public void pmullw(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xD5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmullw    mm0, mm0}
     */
    // Template#: 8037, Serial#: 8297
    public void pmullw_r8297(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xD5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmullw    mm0, mm0}
     */
    // Template#: 8038, Serial#: 8306
    public void pmullw_r8306(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xD5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmullw    mm0, [L1: +305419896]}
     */
    // Template#: 8039, Serial#: 8283
    public void rip_pmullw(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xD5, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmullw    mm0, [L1: +305419896]}
     */
    // Template#: 8040, Serial#: 8292
    public void rip_pmullw_r8292(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xD5, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmullw    mm0, [L1: +305419896]}
     */
    // Template#: 8041, Serial#: 8301
    public void rip_pmullw_r8301(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xD5, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmullw    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8042, Serial#: 8287
    public void pmullw(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xD5, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmullw    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8043, Serial#: 8296
    public void pmullw_r8296(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xD5, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmullw    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8044, Serial#: 8305
    public void pmullw_r8305(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xD5, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmullw    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8045, Serial#: 8282
    public void m_pmullw(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xD5, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmullw    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8046, Serial#: 8291
    public void m_pmullw_r8291(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xD5, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmullw    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8047, Serial#: 8300
    public void m_pmullw_r8300(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xD5, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmullw    mm0, [rbx + 305419896]}
     */
    // Template#: 8048, Serial#: 8286
    public void pmullw(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xD5, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmullw    mm0, [rbx + 305419896]}
     */
    // Template#: 8049, Serial#: 8295
    public void pmullw_r8295(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xD5, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmullw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmullw    mm0, [rbx + 305419896]}
     */
    // Template#: 8050, Serial#: 8304
    public void pmullw_r8304(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xD5, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmuludq   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8051, Serial#: 9041
    public void pmuludq(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xF4, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmuludq   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8052, Serial#: 9050
    public void pmuludq_r9050(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xF4, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmuludq   xmm0, [rbx + 18]}
     */
    // Template#: 8053, Serial#: 9040
    public void pmuludq(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xF4, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmuludq   xmm0, [rbx + 18]}
     */
    // Template#: 8054, Serial#: 9049
    public void pmuludq_r9049(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xF4, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmuludq   xmm0, rbx[rsi * 4]}
     */
    // Template#: 8055, Serial#: 9037
    public void pmuludq(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xF4, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmuludq   xmm0, rbx[rsi * 4]}
     */
    // Template#: 8056, Serial#: 9046
    public void pmuludq_r9046(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xF4, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmuludq   xmm0, [rbx]}
     */
    // Template#: 8057, Serial#: 9036
    public void pmuludq(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xF4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmuludq   xmm0, [rbx]}
     */
    // Template#: 8058, Serial#: 9045
    public void pmuludq_r9045(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xF4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmuludq   xmm0, xmm0}
     */
    // Template#: 8059, Serial#: 9044
    public void pmuludq(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xF4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmuludq   xmm0, xmm0}
     */
    // Template#: 8060, Serial#: 9053
    public void pmuludq_r9053(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xF4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmuludq   xmm0, [L1: +305419896]}
     */
    // Template#: 8061, Serial#: 9039
    public void rip_pmuludq(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xF4, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmuludq   xmm0, [L1: +305419896]}
     */
    // Template#: 8062, Serial#: 9048
    public void rip_pmuludq_r9048(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xF4, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmuludq   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8063, Serial#: 9043
    public void pmuludq(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xF4, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmuludq   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8064, Serial#: 9052
    public void pmuludq_r9052(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xF4, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmuludq   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8065, Serial#: 9038
    public void m_pmuludq(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xF4, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmuludq   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8066, Serial#: 9047
    public void m_pmuludq_r9047(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xF4, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmuludq   xmm0, [rbx + 305419896]}
     */
    // Template#: 8067, Serial#: 9042
    public void pmuludq(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xF4, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmuludq   xmm0, [rbx + 305419896]}
     */
    // Template#: 8068, Serial#: 9051
    public void pmuludq_r9051(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xF4, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmuludq   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8069, Serial#: 8903
    public void pmuludq(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xF4, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmuludq   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8070, Serial#: 8912
    public void pmuludq_r8912(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xF4, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmuludq   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8071, Serial#: 8921
    public void pmuludq_r8921(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xF4, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmuludq   mm0, [rbx + 18]}
     */
    // Template#: 8072, Serial#: 8902
    public void pmuludq(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xF4, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmuludq   mm0, [rbx + 18]}
     */
    // Template#: 8073, Serial#: 8911
    public void pmuludq_r8911(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xF4, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pmuludq   mm0, [rbx + 18]}
     */
    // Template#: 8074, Serial#: 8920
    public void pmuludq_r8920(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xF4, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmuludq   mm0, rbx[rsi * 4]}
     */
    // Template#: 8075, Serial#: 8899
    public void pmuludq(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xF4, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmuludq   mm0, rbx[rsi * 4]}
     */
    // Template#: 8076, Serial#: 8908
    public void pmuludq_r8908(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xF4, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmuludq   mm0, rbx[rsi * 4]}
     */
    // Template#: 8077, Serial#: 8917
    public void pmuludq_r8917(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xF4, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmuludq   mm0, [rbx]}
     */
    // Template#: 8078, Serial#: 8898
    public void pmuludq(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xF4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmuludq   mm0, [rbx]}
     */
    // Template#: 8079, Serial#: 8907
    public void pmuludq_r8907(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xF4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmuludq   mm0, [rbx]}
     */
    // Template#: 8080, Serial#: 8916
    public void pmuludq_r8916(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xF4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmuludq   mm0, mm0}
     */
    // Template#: 8081, Serial#: 8906
    public void pmuludq(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xF4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmuludq   mm0, mm0}
     */
    // Template#: 8082, Serial#: 8915
    public void pmuludq_r8915(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xF4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pmuludq   mm0, mm0}
     */
    // Template#: 8083, Serial#: 8924
    public void pmuludq_r8924(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xF4, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmuludq   mm0, [L1: +305419896]}
     */
    // Template#: 8084, Serial#: 8901
    public void rip_pmuludq(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xF4, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmuludq   mm0, [L1: +305419896]}
     */
    // Template#: 8085, Serial#: 8910
    public void rip_pmuludq_r8910(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xF4, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pmuludq   mm0, [L1: +305419896]}
     */
    // Template#: 8086, Serial#: 8919
    public void rip_pmuludq_r8919(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xF4, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmuludq   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8087, Serial#: 8905
    public void pmuludq(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xF4, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmuludq   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8088, Serial#: 8914
    public void pmuludq_r8914(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xF4, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmuludq   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8089, Serial#: 8923
    public void pmuludq_r8923(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xF4, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmuludq   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8090, Serial#: 8900
    public void m_pmuludq(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xF4, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmuludq   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8091, Serial#: 8909
    public void m_pmuludq_r8909(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xF4, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pmuludq   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8092, Serial#: 8918
    public void m_pmuludq_r8918(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xF4, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmuludq   mm0, [rbx + 305419896]}
     */
    // Template#: 8093, Serial#: 8904
    public void pmuludq(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xF4, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmuludq   mm0, [rbx + 305419896]}
     */
    // Template#: 8094, Serial#: 8913
    public void pmuludq_r8913(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xF4, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pmuludq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pmuludq   mm0, [rbx + 305419896]}
     */
    // Template#: 8095, Serial#: 8922
    public void pmuludq_r8922(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xF4, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pop  }
     * Example disassembly syntax: {@code pop       fs}
     */
    // Template#: 8096, Serial#: 7734
    public void pop_FS() {
        assemble0373((byte) 0xA1);
    }

    /**
     * Pseudo-external assembler syntax: {@code pop  }
     * Example disassembly syntax: {@code pop       fs}
     */
    // Template#: 8097, Serial#: 7735
    public void pop_FS_r7735() {
        assemble0375((byte) 0xA1);
    }

    /**
     * Pseudo-external assembler syntax: {@code pop  }
     * Example disassembly syntax: {@code pop       gs}
     */
    // Template#: 8098, Serial#: 11248
    public void pop_GS() {
        assemble0373((byte) 0xA9);
    }

    /**
     * Pseudo-external assembler syntax: {@code pop  }
     * Example disassembly syntax: {@code pop       gs}
     */
    // Template#: 8099, Serial#: 11249
    public void pop_GS_r11249() {
        assemble0375((byte) 0xA9);
    }

    /**
     * Pseudo-external assembler syntax: {@code pop  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pop       rbx[rsi * 4 + 18]}
     */
    // Template#: 8100, Serial#: 3844
    public void pop(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1018((byte) 0x8F, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pop  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pop       rbx[rsi * 4 + 18]}
     */
    // Template#: 8101, Serial#: 3853
    public void pop_r3853(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1019((byte) 0x8F, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pop  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code pop       [rbx + 18]}
     */
    // Template#: 8102, Serial#: 3843
    public void pop(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1020((byte) 0x8F, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code pop  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code pop       [rbx + 18]}
     */
    // Template#: 8103, Serial#: 3852
    public void pop_r3852(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1021((byte) 0x8F, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code pop  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pop       rbx[rsi * 4]}
     */
    // Template#: 8104, Serial#: 3840
    public void pop(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1022((byte) 0x8F, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pop  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pop       rbx[rsi * 4]}
     */
    // Template#: 8105, Serial#: 3849
    public void pop_r3849(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1023((byte) 0x8F, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pop  }<i>register</i>
     * Example disassembly syntax: {@code pop       ax}
     */
    // Template#: 8106, Serial#: 3576
    public void pop(AMD64GeneralRegister16 register) {
        assemble1024((byte) 0x58, register);
    }

    /**
     * Pseudo-external assembler syntax: {@code pop  }<i>destination</i>
     * Example disassembly syntax: {@code pop       ax}
     */
    // Template#: 8107, Serial#: 3856
    public void pop_r3856(AMD64GeneralRegister16 destination) {
        assemble1025((byte) 0x8F, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code pop  }<i>register</i>
     * Example disassembly syntax: {@code pop       rax}
     */
    // Template#: 8108, Serial#: 3575
    public void pop(AMD64GeneralRegister64 register) {
        assemble1026((byte) 0x58, register);
    }

    /**
     * Pseudo-external assembler syntax: {@code pop  }<i>destination</i>
     * Example disassembly syntax: {@code pop       rax}
     */
    // Template#: 8109, Serial#: 3847
    public void pop_r3847(AMD64GeneralRegister64 destination) {
        assemble1027((byte) 0x8F, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code pop  }<i>destination</i>
     * Example disassembly syntax: {@code pop       [rbx]}
     */
    // Template#: 8110, Serial#: 3839
    public void pop(AMD64IndirectRegister64 destination) {
        assemble1028((byte) 0x8F, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code pop  }<i>destination</i>
     * Example disassembly syntax: {@code pop       [rbx]}
     */
    // Template#: 8111, Serial#: 3848
    public void pop_r3848(AMD64IndirectRegister64 destination) {
        assemble1029((byte) 0x8F, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code pop  }<i>rel32</i>
     * Example disassembly syntax: {@code pop       [L1: +305419896]}
     */
    // Template#: 8112, Serial#: 3842
    public void rip_pop(int rel32) {
        assemble1030((byte) 0x8F, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pop  }<i>rel32</i>
     * Example disassembly syntax: {@code pop       [L1: +305419896]}
     */
    // Template#: 8113, Serial#: 3851
    public void rip_pop_r3851(int rel32) {
        assemble1031((byte) 0x8F, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pop  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pop       rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8114, Serial#: 3846
    public void pop(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1032((byte) 0x8F, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pop  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pop       rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8115, Serial#: 3855
    public void pop_r3855(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1033((byte) 0x8F, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pop  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pop       0x12345678[rsi * 4]}
     */
    // Template#: 8116, Serial#: 3841
    public void m_pop(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1034((byte) 0x8F, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pop  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pop       0x12345678[rsi * 4]}
     */
    // Template#: 8117, Serial#: 3850
    public void m_pop_r3850(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1035((byte) 0x8F, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pop  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code pop       [rbx + 305419896]}
     */
    // Template#: 8118, Serial#: 3845
    public void pop(int disp32, AMD64IndirectRegister64 destination) {
        assemble1036((byte) 0x8F, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code pop  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code pop       [rbx + 305419896]}
     */
    // Template#: 8119, Serial#: 3854
    public void pop_r3854(int disp32, AMD64IndirectRegister64 destination) {
        assemble1037((byte) 0x8F, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code popfq  }
     * Example disassembly syntax: {@code popfq   }
     */
    // Template#: 8120, Serial#: 3866
    public void popfq() {
        assemble0208((byte) 0x9D);
    }

    /**
     * Pseudo-external assembler syntax: {@code popfw  }
     * Example disassembly syntax: {@code popfw   }
     */
    // Template#: 8121, Serial#: 3867
    public void popfw() {
        assemble0210((byte) 0x9D);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code por       xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8122, Serial#: 12361
    public void por(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xEB, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code por       xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8123, Serial#: 12370
    public void por_r12370(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xEB, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code por       xmm0, [rbx + 18]}
     */
    // Template#: 8124, Serial#: 12360
    public void por(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xEB, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code por       xmm0, [rbx + 18]}
     */
    // Template#: 8125, Serial#: 12369
    public void por_r12369(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xEB, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code por       xmm0, rbx[rsi * 4]}
     */
    // Template#: 8126, Serial#: 12357
    public void por(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xEB, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code por       xmm0, rbx[rsi * 4]}
     */
    // Template#: 8127, Serial#: 12366
    public void por_r12366(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xEB, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code por       xmm0, [rbx]}
     */
    // Template#: 8128, Serial#: 12356
    public void por(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xEB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code por       xmm0, [rbx]}
     */
    // Template#: 8129, Serial#: 12365
    public void por_r12365(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xEB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code por       xmm0, xmm0}
     */
    // Template#: 8130, Serial#: 12364
    public void por(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xEB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code por       xmm0, xmm0}
     */
    // Template#: 8131, Serial#: 12373
    public void por_r12373(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xEB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code por       xmm0, [L1: +305419896]}
     */
    // Template#: 8132, Serial#: 12359
    public void rip_por(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xEB, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code por       xmm0, [L1: +305419896]}
     */
    // Template#: 8133, Serial#: 12368
    public void rip_por_r12368(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xEB, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code por       xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8134, Serial#: 12363
    public void por(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xEB, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code por       xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8135, Serial#: 12372
    public void por_r12372(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xEB, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code por       xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8136, Serial#: 12358
    public void m_por(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xEB, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code por       xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8137, Serial#: 12367
    public void m_por_r12367(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xEB, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code por       xmm0, [rbx + 305419896]}
     */
    // Template#: 8138, Serial#: 12362
    public void por(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xEB, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code por       xmm0, [rbx + 305419896]}
     */
    // Template#: 8139, Serial#: 12371
    public void por_r12371(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xEB, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code por       mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8140, Serial#: 12172
    public void por(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xEB, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code por       mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8141, Serial#: 12181
    public void por_r12181(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xEB, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code por       mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8142, Serial#: 12190
    public void por_r12190(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xEB, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code por       mm0, [rbx + 18]}
     */
    // Template#: 8143, Serial#: 12171
    public void por(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xEB, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code por       mm0, [rbx + 18]}
     */
    // Template#: 8144, Serial#: 12180
    public void por_r12180(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xEB, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code por       mm0, [rbx + 18]}
     */
    // Template#: 8145, Serial#: 12189
    public void por_r12189(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xEB, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code por       mm0, rbx[rsi * 4]}
     */
    // Template#: 8146, Serial#: 12168
    public void por(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xEB, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code por       mm0, rbx[rsi * 4]}
     */
    // Template#: 8147, Serial#: 12177
    public void por_r12177(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xEB, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code por       mm0, rbx[rsi * 4]}
     */
    // Template#: 8148, Serial#: 12186
    public void por_r12186(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xEB, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code por       mm0, [rbx]}
     */
    // Template#: 8149, Serial#: 12167
    public void por(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xEB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code por       mm0, [rbx]}
     */
    // Template#: 8150, Serial#: 12176
    public void por_r12176(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xEB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code por       mm0, [rbx]}
     */
    // Template#: 8151, Serial#: 12185
    public void por_r12185(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xEB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code por       mm0, mm0}
     */
    // Template#: 8152, Serial#: 12175
    public void por(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xEB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code por       mm0, mm0}
     */
    // Template#: 8153, Serial#: 12184
    public void por_r12184(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xEB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code por       mm0, mm0}
     */
    // Template#: 8154, Serial#: 12193
    public void por_r12193(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xEB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code por       mm0, [L1: +305419896]}
     */
    // Template#: 8155, Serial#: 12170
    public void rip_por(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xEB, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code por       mm0, [L1: +305419896]}
     */
    // Template#: 8156, Serial#: 12179
    public void rip_por_r12179(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xEB, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code por       mm0, [L1: +305419896]}
     */
    // Template#: 8157, Serial#: 12188
    public void rip_por_r12188(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xEB, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code por       mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8158, Serial#: 12174
    public void por(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xEB, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code por       mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8159, Serial#: 12183
    public void por_r12183(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xEB, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code por       mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8160, Serial#: 12192
    public void por_r12192(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xEB, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code por       mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8161, Serial#: 12169
    public void m_por(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xEB, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code por       mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8162, Serial#: 12178
    public void m_por_r12178(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xEB, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code por       mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8163, Serial#: 12187
    public void m_por_r12187(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xEB, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code por       mm0, [rbx + 305419896]}
     */
    // Template#: 8164, Serial#: 12173
    public void por(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xEB, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code por       mm0, [rbx + 305419896]}
     */
    // Template#: 8165, Serial#: 12182
    public void por_r12182(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xEB, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code por  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code por       mm0, [rbx + 305419896]}
     */
    // Template#: 8166, Serial#: 12191
    public void por_r12191(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xEB, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetch  rbx[rsi * 4 + 18]}
     */
    // Template#: 8167, Serial#: 9139
    public void prefetch(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0349((byte) 0x0D, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetch  rbx[rsi * 4 + 18]}
     */
    // Template#: 8168, Serial#: 9143
    public void prefetch_r9143(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0349((byte) 0x0D, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetch  rbx[rsi * 4 + 18]}
     */
    // Template#: 8169, Serial#: 9163
    public void prefetch_r9163(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0350((byte) 0x0D, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetch  rbx[rsi * 4 + 18]}
     */
    // Template#: 8170, Serial#: 9167
    public void prefetch_r9167(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0350((byte) 0x0D, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetch  rbx[rsi * 4 + 18]}
     */
    // Template#: 8171, Serial#: 9187
    public void prefetch_r9187(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0351((byte) 0x0D, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetch  rbx[rsi * 4 + 18]}
     */
    // Template#: 8172, Serial#: 9191
    public void prefetch_r9191(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0351((byte) 0x0D, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetch  [rbx + 18]}
     */
    // Template#: 8173, Serial#: 9138
    public void prefetch(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0352((byte) 0x0D, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetch  [rbx + 18]}
     */
    // Template#: 8174, Serial#: 9142
    public void prefetch_r9142(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0352((byte) 0x0D, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetch  [rbx + 18]}
     */
    // Template#: 8175, Serial#: 9162
    public void prefetch_r9162(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0353((byte) 0x0D, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetch  [rbx + 18]}
     */
    // Template#: 8176, Serial#: 9166
    public void prefetch_r9166(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0353((byte) 0x0D, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetch  [rbx + 18]}
     */
    // Template#: 8177, Serial#: 9186
    public void prefetch_r9186(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0354((byte) 0x0D, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetch  [rbx + 18]}
     */
    // Template#: 8178, Serial#: 9190
    public void prefetch_r9190(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0354((byte) 0x0D, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetch  rbx[rsi * 4]}
     */
    // Template#: 8179, Serial#: 9127
    public void prefetch(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0355((byte) 0x0D, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetch  rbx[rsi * 4]}
     */
    // Template#: 8180, Serial#: 9135
    public void prefetch_r9135(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0355((byte) 0x0D, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetch  rbx[rsi * 4]}
     */
    // Template#: 8181, Serial#: 9151
    public void prefetch_r9151(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0356((byte) 0x0D, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetch  rbx[rsi * 4]}
     */
    // Template#: 8182, Serial#: 9159
    public void prefetch_r9159(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0356((byte) 0x0D, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetch  rbx[rsi * 4]}
     */
    // Template#: 8183, Serial#: 9175
    public void prefetch_r9175(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0357((byte) 0x0D, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetch  rbx[rsi * 4]}
     */
    // Template#: 8184, Serial#: 9183
    public void prefetch_r9183(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0357((byte) 0x0D, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>destination</i>
     * Example disassembly syntax: {@code prefetch  [rbx]}
     */
    // Template#: 8185, Serial#: 9126
    public void prefetch(AMD64IndirectRegister64 destination) {
        assemble0358((byte) 0x0D, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>destination</i>
     * Example disassembly syntax: {@code prefetch  [rbx]}
     */
    // Template#: 8186, Serial#: 9134
    public void prefetch_r9134(AMD64IndirectRegister64 destination) {
        assemble0358((byte) 0x0D, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>destination</i>
     * Example disassembly syntax: {@code prefetch  [rbx]}
     */
    // Template#: 8187, Serial#: 9150
    public void prefetch_r9150(AMD64IndirectRegister64 destination) {
        assemble0359((byte) 0x0D, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>destination</i>
     * Example disassembly syntax: {@code prefetch  [rbx]}
     */
    // Template#: 8188, Serial#: 9158
    public void prefetch_r9158(AMD64IndirectRegister64 destination) {
        assemble0359((byte) 0x0D, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>destination</i>
     * Example disassembly syntax: {@code prefetch  [rbx]}
     */
    // Template#: 8189, Serial#: 9174
    public void prefetch_r9174(AMD64IndirectRegister64 destination) {
        assemble0360((byte) 0x0D, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>destination</i>
     * Example disassembly syntax: {@code prefetch  [rbx]}
     */
    // Template#: 8190, Serial#: 9182
    public void prefetch_r9182(AMD64IndirectRegister64 destination) {
        assemble0360((byte) 0x0D, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>rel32</i>
     * Example disassembly syntax: {@code prefetch  [L1: +305419896]}
     */
    // Template#: 8191, Serial#: 9129
    public void rip_prefetch(int rel32) {
        assemble0361((byte) 0x0D, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>rel32</i>
     * Example disassembly syntax: {@code prefetch  [L1: +305419896]}
     */
    // Template#: 8192, Serial#: 9137
    public void rip_prefetch_r9137(int rel32) {
        assemble0361((byte) 0x0D, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>rel32</i>
     * Example disassembly syntax: {@code prefetch  [L1: +305419896]}
     */
    // Template#: 8193, Serial#: 9153
    public void rip_prefetch_r9153(int rel32) {
        assemble0362((byte) 0x0D, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>rel32</i>
     * Example disassembly syntax: {@code prefetch  [L1: +305419896]}
     */
    // Template#: 8194, Serial#: 9161
    public void rip_prefetch_r9161(int rel32) {
        assemble0362((byte) 0x0D, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>rel32</i>
     * Example disassembly syntax: {@code prefetch  [L1: +305419896]}
     */
    // Template#: 8195, Serial#: 9177
    public void rip_prefetch_r9177(int rel32) {
        assemble0363((byte) 0x0D, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>rel32</i>
     * Example disassembly syntax: {@code prefetch  [L1: +305419896]}
     */
    // Template#: 8196, Serial#: 9185
    public void rip_prefetch_r9185(int rel32) {
        assemble0363((byte) 0x0D, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetch  rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8197, Serial#: 9145
    public void prefetch(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0364((byte) 0x0D, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetch  rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8198, Serial#: 9149
    public void prefetch_r9149(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0364((byte) 0x0D, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetch  rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8199, Serial#: 9169
    public void prefetch_r9169(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0365((byte) 0x0D, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetch  rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8200, Serial#: 9173
    public void prefetch_r9173(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0365((byte) 0x0D, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetch  rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8201, Serial#: 9193
    public void prefetch_r9193(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0366((byte) 0x0D, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetch  rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8202, Serial#: 9197
    public void prefetch_r9197(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0366((byte) 0x0D, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetch  0x12345678[rsi * 4]}
     */
    // Template#: 8203, Serial#: 9128
    public void m_prefetch(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0367((byte) 0x0D, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetch  0x12345678[rsi * 4]}
     */
    // Template#: 8204, Serial#: 9136
    public void m_prefetch_r9136(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0367((byte) 0x0D, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetch  0x12345678[rsi * 4]}
     */
    // Template#: 8205, Serial#: 9152
    public void m_prefetch_r9152(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0368((byte) 0x0D, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetch  0x12345678[rsi * 4]}
     */
    // Template#: 8206, Serial#: 9160
    public void m_prefetch_r9160(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0368((byte) 0x0D, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetch  0x12345678[rsi * 4]}
     */
    // Template#: 8207, Serial#: 9176
    public void m_prefetch_r9176(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0369((byte) 0x0D, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetch  0x12345678[rsi * 4]}
     */
    // Template#: 8208, Serial#: 9184
    public void m_prefetch_r9184(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0369((byte) 0x0D, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetch  [rbx + 305419896]}
     */
    // Template#: 8209, Serial#: 9144
    public void prefetch(int disp32, AMD64IndirectRegister64 destination) {
        assemble0370((byte) 0x0D, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetch  [rbx + 305419896]}
     */
    // Template#: 8210, Serial#: 9148
    public void prefetch_r9148(int disp32, AMD64IndirectRegister64 destination) {
        assemble0370((byte) 0x0D, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetch  [rbx + 305419896]}
     */
    // Template#: 8211, Serial#: 9168
    public void prefetch_r9168(int disp32, AMD64IndirectRegister64 destination) {
        assemble0371((byte) 0x0D, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetch  [rbx + 305419896]}
     */
    // Template#: 8212, Serial#: 9172
    public void prefetch_r9172(int disp32, AMD64IndirectRegister64 destination) {
        assemble0371((byte) 0x0D, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetch  [rbx + 305419896]}
     */
    // Template#: 8213, Serial#: 9192
    public void prefetch_r9192(int disp32, AMD64IndirectRegister64 destination) {
        assemble0372((byte) 0x0D, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetch  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetch  [rbx + 305419896]}
     */
    // Template#: 8214, Serial#: 9196
    public void prefetch_r9196(int disp32, AMD64IndirectRegister64 destination) {
        assemble0372((byte) 0x0D, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchnta  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetchnta  rbx[rsi * 4 + 18]}
     */
    // Template#: 8215, Serial#: 9218
    public void prefetchnta(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0349((byte) 0x18, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchnta  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetchnta  rbx[rsi * 4 + 18]}
     */
    // Template#: 8216, Serial#: 9250
    public void prefetchnta_r9250(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0350((byte) 0x18, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchnta  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetchnta  rbx[rsi * 4 + 18]}
     */
    // Template#: 8217, Serial#: 9282
    public void prefetchnta_r9282(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0351((byte) 0x18, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchnta  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetchnta  [rbx + 18]}
     */
    // Template#: 8218, Serial#: 9217
    public void prefetchnta(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0352((byte) 0x18, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchnta  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetchnta  [rbx + 18]}
     */
    // Template#: 8219, Serial#: 9249
    public void prefetchnta_r9249(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0353((byte) 0x18, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchnta  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetchnta  [rbx + 18]}
     */
    // Template#: 8220, Serial#: 9281
    public void prefetchnta_r9281(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0354((byte) 0x18, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchnta  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetchnta  rbx[rsi * 4]}
     */
    // Template#: 8221, Serial#: 9202
    public void prefetchnta(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0355((byte) 0x18, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchnta  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetchnta  rbx[rsi * 4]}
     */
    // Template#: 8222, Serial#: 9234
    public void prefetchnta_r9234(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0356((byte) 0x18, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchnta  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetchnta  rbx[rsi * 4]}
     */
    // Template#: 8223, Serial#: 9266
    public void prefetchnta_r9266(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0357((byte) 0x18, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchnta  }<i>destination</i>
     * Example disassembly syntax: {@code prefetchnta  [rbx]}
     */
    // Template#: 8224, Serial#: 9201
    public void prefetchnta(AMD64IndirectRegister64 destination) {
        assemble0358((byte) 0x18, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchnta  }<i>destination</i>
     * Example disassembly syntax: {@code prefetchnta  [rbx]}
     */
    // Template#: 8225, Serial#: 9233
    public void prefetchnta_r9233(AMD64IndirectRegister64 destination) {
        assemble0359((byte) 0x18, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchnta  }<i>destination</i>
     * Example disassembly syntax: {@code prefetchnta  [rbx]}
     */
    // Template#: 8226, Serial#: 9265
    public void prefetchnta_r9265(AMD64IndirectRegister64 destination) {
        assemble0360((byte) 0x18, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchnta  }<i>rel32</i>
     * Example disassembly syntax: {@code prefetchnta  [L1: +305419896]}
     */
    // Template#: 8227, Serial#: 9204
    public void rip_prefetchnta(int rel32) {
        assemble0361((byte) 0x18, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchnta  }<i>rel32</i>
     * Example disassembly syntax: {@code prefetchnta  [L1: +305419896]}
     */
    // Template#: 8228, Serial#: 9236
    public void rip_prefetchnta_r9236(int rel32) {
        assemble0362((byte) 0x18, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchnta  }<i>rel32</i>
     * Example disassembly syntax: {@code prefetchnta  [L1: +305419896]}
     */
    // Template#: 8229, Serial#: 9268
    public void rip_prefetchnta_r9268(int rel32) {
        assemble0363((byte) 0x18, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchnta  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetchnta  rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8230, Serial#: 9226
    public void prefetchnta(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0364((byte) 0x18, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchnta  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetchnta  rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8231, Serial#: 9258
    public void prefetchnta_r9258(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0365((byte) 0x18, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchnta  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetchnta  rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8232, Serial#: 9290
    public void prefetchnta_r9290(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0366((byte) 0x18, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchnta  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetchnta  0x12345678[rsi * 4]}
     */
    // Template#: 8233, Serial#: 9203
    public void m_prefetchnta(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0367((byte) 0x18, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchnta  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetchnta  0x12345678[rsi * 4]}
     */
    // Template#: 8234, Serial#: 9235
    public void m_prefetchnta_r9235(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0368((byte) 0x18, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchnta  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetchnta  0x12345678[rsi * 4]}
     */
    // Template#: 8235, Serial#: 9267
    public void m_prefetchnta_r9267(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0369((byte) 0x18, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchnta  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetchnta  [rbx + 305419896]}
     */
    // Template#: 8236, Serial#: 9225
    public void prefetchnta(int disp32, AMD64IndirectRegister64 destination) {
        assemble0370((byte) 0x18, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchnta  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetchnta  [rbx + 305419896]}
     */
    // Template#: 8237, Serial#: 9257
    public void prefetchnta_r9257(int disp32, AMD64IndirectRegister64 destination) {
        assemble0371((byte) 0x18, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchnta  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetchnta  [rbx + 305419896]}
     */
    // Template#: 8238, Serial#: 9289
    public void prefetchnta_r9289(int disp32, AMD64IndirectRegister64 destination) {
        assemble0372((byte) 0x18, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht0  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht0  rbx[rsi * 4 + 18]}
     */
    // Template#: 8239, Serial#: 9220
    public void prefetcht0(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0349((byte) 0x18, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht0  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht0  rbx[rsi * 4 + 18]}
     */
    // Template#: 8240, Serial#: 9252
    public void prefetcht0_r9252(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0350((byte) 0x18, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht0  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht0  rbx[rsi * 4 + 18]}
     */
    // Template#: 8241, Serial#: 9284
    public void prefetcht0_r9284(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0351((byte) 0x18, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht0  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetcht0  [rbx + 18]}
     */
    // Template#: 8242, Serial#: 9219
    public void prefetcht0(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0352((byte) 0x18, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht0  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetcht0  [rbx + 18]}
     */
    // Template#: 8243, Serial#: 9251
    public void prefetcht0_r9251(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0353((byte) 0x18, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht0  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetcht0  [rbx + 18]}
     */
    // Template#: 8244, Serial#: 9283
    public void prefetcht0_r9283(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0354((byte) 0x18, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht0  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht0  rbx[rsi * 4]}
     */
    // Template#: 8245, Serial#: 9206
    public void prefetcht0(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0355((byte) 0x18, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht0  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht0  rbx[rsi * 4]}
     */
    // Template#: 8246, Serial#: 9238
    public void prefetcht0_r9238(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0356((byte) 0x18, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht0  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht0  rbx[rsi * 4]}
     */
    // Template#: 8247, Serial#: 9270
    public void prefetcht0_r9270(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0357((byte) 0x18, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht0  }<i>destination</i>
     * Example disassembly syntax: {@code prefetcht0  [rbx]}
     */
    // Template#: 8248, Serial#: 9205
    public void prefetcht0(AMD64IndirectRegister64 destination) {
        assemble0358((byte) 0x18, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht0  }<i>destination</i>
     * Example disassembly syntax: {@code prefetcht0  [rbx]}
     */
    // Template#: 8249, Serial#: 9237
    public void prefetcht0_r9237(AMD64IndirectRegister64 destination) {
        assemble0359((byte) 0x18, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht0  }<i>destination</i>
     * Example disassembly syntax: {@code prefetcht0  [rbx]}
     */
    // Template#: 8250, Serial#: 9269
    public void prefetcht0_r9269(AMD64IndirectRegister64 destination) {
        assemble0360((byte) 0x18, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht0  }<i>rel32</i>
     * Example disassembly syntax: {@code prefetcht0  [L1: +305419896]}
     */
    // Template#: 8251, Serial#: 9208
    public void rip_prefetcht0(int rel32) {
        assemble0361((byte) 0x18, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht0  }<i>rel32</i>
     * Example disassembly syntax: {@code prefetcht0  [L1: +305419896]}
     */
    // Template#: 8252, Serial#: 9240
    public void rip_prefetcht0_r9240(int rel32) {
        assemble0362((byte) 0x18, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht0  }<i>rel32</i>
     * Example disassembly syntax: {@code prefetcht0  [L1: +305419896]}
     */
    // Template#: 8253, Serial#: 9272
    public void rip_prefetcht0_r9272(int rel32) {
        assemble0363((byte) 0x18, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht0  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht0  rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8254, Serial#: 9228
    public void prefetcht0(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0364((byte) 0x18, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht0  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht0  rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8255, Serial#: 9260
    public void prefetcht0_r9260(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0365((byte) 0x18, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht0  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht0  rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8256, Serial#: 9292
    public void prefetcht0_r9292(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0366((byte) 0x18, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht0  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht0  0x12345678[rsi * 4]}
     */
    // Template#: 8257, Serial#: 9207
    public void m_prefetcht0(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0367((byte) 0x18, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht0  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht0  0x12345678[rsi * 4]}
     */
    // Template#: 8258, Serial#: 9239
    public void m_prefetcht0_r9239(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0368((byte) 0x18, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht0  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht0  0x12345678[rsi * 4]}
     */
    // Template#: 8259, Serial#: 9271
    public void m_prefetcht0_r9271(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0369((byte) 0x18, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht0  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetcht0  [rbx + 305419896]}
     */
    // Template#: 8260, Serial#: 9227
    public void prefetcht0(int disp32, AMD64IndirectRegister64 destination) {
        assemble0370((byte) 0x18, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht0  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetcht0  [rbx + 305419896]}
     */
    // Template#: 8261, Serial#: 9259
    public void prefetcht0_r9259(int disp32, AMD64IndirectRegister64 destination) {
        assemble0371((byte) 0x18, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht0  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetcht0  [rbx + 305419896]}
     */
    // Template#: 8262, Serial#: 9291
    public void prefetcht0_r9291(int disp32, AMD64IndirectRegister64 destination) {
        assemble0372((byte) 0x18, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht1  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht1  rbx[rsi * 4 + 18]}
     */
    // Template#: 8263, Serial#: 9222
    public void prefetcht1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0349((byte) 0x18, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht1  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht1  rbx[rsi * 4 + 18]}
     */
    // Template#: 8264, Serial#: 9254
    public void prefetcht1_r9254(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0350((byte) 0x18, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht1  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht1  rbx[rsi * 4 + 18]}
     */
    // Template#: 8265, Serial#: 9286
    public void prefetcht1_r9286(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0351((byte) 0x18, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht1  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetcht1  [rbx + 18]}
     */
    // Template#: 8266, Serial#: 9221
    public void prefetcht1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0352((byte) 0x18, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht1  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetcht1  [rbx + 18]}
     */
    // Template#: 8267, Serial#: 9253
    public void prefetcht1_r9253(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0353((byte) 0x18, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht1  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetcht1  [rbx + 18]}
     */
    // Template#: 8268, Serial#: 9285
    public void prefetcht1_r9285(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0354((byte) 0x18, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht1  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht1  rbx[rsi * 4]}
     */
    // Template#: 8269, Serial#: 9210
    public void prefetcht1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0355((byte) 0x18, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht1  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht1  rbx[rsi * 4]}
     */
    // Template#: 8270, Serial#: 9242
    public void prefetcht1_r9242(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0356((byte) 0x18, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht1  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht1  rbx[rsi * 4]}
     */
    // Template#: 8271, Serial#: 9274
    public void prefetcht1_r9274(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0357((byte) 0x18, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht1  }<i>destination</i>
     * Example disassembly syntax: {@code prefetcht1  [rbx]}
     */
    // Template#: 8272, Serial#: 9209
    public void prefetcht1(AMD64IndirectRegister64 destination) {
        assemble0358((byte) 0x18, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht1  }<i>destination</i>
     * Example disassembly syntax: {@code prefetcht1  [rbx]}
     */
    // Template#: 8273, Serial#: 9241
    public void prefetcht1_r9241(AMD64IndirectRegister64 destination) {
        assemble0359((byte) 0x18, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht1  }<i>destination</i>
     * Example disassembly syntax: {@code prefetcht1  [rbx]}
     */
    // Template#: 8274, Serial#: 9273
    public void prefetcht1_r9273(AMD64IndirectRegister64 destination) {
        assemble0360((byte) 0x18, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht1  }<i>rel32</i>
     * Example disassembly syntax: {@code prefetcht1  [L1: +305419896]}
     */
    // Template#: 8275, Serial#: 9212
    public void rip_prefetcht1(int rel32) {
        assemble0361((byte) 0x18, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht1  }<i>rel32</i>
     * Example disassembly syntax: {@code prefetcht1  [L1: +305419896]}
     */
    // Template#: 8276, Serial#: 9244
    public void rip_prefetcht1_r9244(int rel32) {
        assemble0362((byte) 0x18, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht1  }<i>rel32</i>
     * Example disassembly syntax: {@code prefetcht1  [L1: +305419896]}
     */
    // Template#: 8277, Serial#: 9276
    public void rip_prefetcht1_r9276(int rel32) {
        assemble0363((byte) 0x18, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht1  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht1  rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8278, Serial#: 9230
    public void prefetcht1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0364((byte) 0x18, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht1  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht1  rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8279, Serial#: 9262
    public void prefetcht1_r9262(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0365((byte) 0x18, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht1  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht1  rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8280, Serial#: 9294
    public void prefetcht1_r9294(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0366((byte) 0x18, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht1  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht1  0x12345678[rsi * 4]}
     */
    // Template#: 8281, Serial#: 9211
    public void m_prefetcht1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0367((byte) 0x18, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht1  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht1  0x12345678[rsi * 4]}
     */
    // Template#: 8282, Serial#: 9243
    public void m_prefetcht1_r9243(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0368((byte) 0x18, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht1  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht1  0x12345678[rsi * 4]}
     */
    // Template#: 8283, Serial#: 9275
    public void m_prefetcht1_r9275(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0369((byte) 0x18, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht1  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetcht1  [rbx + 305419896]}
     */
    // Template#: 8284, Serial#: 9229
    public void prefetcht1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0370((byte) 0x18, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht1  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetcht1  [rbx + 305419896]}
     */
    // Template#: 8285, Serial#: 9261
    public void prefetcht1_r9261(int disp32, AMD64IndirectRegister64 destination) {
        assemble0371((byte) 0x18, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht1  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetcht1  [rbx + 305419896]}
     */
    // Template#: 8286, Serial#: 9293
    public void prefetcht1_r9293(int disp32, AMD64IndirectRegister64 destination) {
        assemble0372((byte) 0x18, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht2  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht2  rbx[rsi * 4 + 18]}
     */
    // Template#: 8287, Serial#: 9224
    public void prefetcht2(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0349((byte) 0x18, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht2  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht2  rbx[rsi * 4 + 18]}
     */
    // Template#: 8288, Serial#: 9256
    public void prefetcht2_r9256(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0350((byte) 0x18, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht2  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht2  rbx[rsi * 4 + 18]}
     */
    // Template#: 8289, Serial#: 9288
    public void prefetcht2_r9288(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0351((byte) 0x18, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht2  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetcht2  [rbx + 18]}
     */
    // Template#: 8290, Serial#: 9223
    public void prefetcht2(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0352((byte) 0x18, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht2  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetcht2  [rbx + 18]}
     */
    // Template#: 8291, Serial#: 9255
    public void prefetcht2_r9255(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0353((byte) 0x18, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht2  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetcht2  [rbx + 18]}
     */
    // Template#: 8292, Serial#: 9287
    public void prefetcht2_r9287(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0354((byte) 0x18, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht2  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht2  rbx[rsi * 4]}
     */
    // Template#: 8293, Serial#: 9214
    public void prefetcht2(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0355((byte) 0x18, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht2  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht2  rbx[rsi * 4]}
     */
    // Template#: 8294, Serial#: 9246
    public void prefetcht2_r9246(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0356((byte) 0x18, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht2  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht2  rbx[rsi * 4]}
     */
    // Template#: 8295, Serial#: 9278
    public void prefetcht2_r9278(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0357((byte) 0x18, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht2  }<i>destination</i>
     * Example disassembly syntax: {@code prefetcht2  [rbx]}
     */
    // Template#: 8296, Serial#: 9213
    public void prefetcht2(AMD64IndirectRegister64 destination) {
        assemble0358((byte) 0x18, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht2  }<i>destination</i>
     * Example disassembly syntax: {@code prefetcht2  [rbx]}
     */
    // Template#: 8297, Serial#: 9245
    public void prefetcht2_r9245(AMD64IndirectRegister64 destination) {
        assemble0359((byte) 0x18, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht2  }<i>destination</i>
     * Example disassembly syntax: {@code prefetcht2  [rbx]}
     */
    // Template#: 8298, Serial#: 9277
    public void prefetcht2_r9277(AMD64IndirectRegister64 destination) {
        assemble0360((byte) 0x18, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht2  }<i>rel32</i>
     * Example disassembly syntax: {@code prefetcht2  [L1: +305419896]}
     */
    // Template#: 8299, Serial#: 9216
    public void rip_prefetcht2(int rel32) {
        assemble0361((byte) 0x18, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht2  }<i>rel32</i>
     * Example disassembly syntax: {@code prefetcht2  [L1: +305419896]}
     */
    // Template#: 8300, Serial#: 9248
    public void rip_prefetcht2_r9248(int rel32) {
        assemble0362((byte) 0x18, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht2  }<i>rel32</i>
     * Example disassembly syntax: {@code prefetcht2  [L1: +305419896]}
     */
    // Template#: 8301, Serial#: 9280
    public void rip_prefetcht2_r9280(int rel32) {
        assemble0363((byte) 0x18, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht2  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht2  rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8302, Serial#: 9232
    public void prefetcht2(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0364((byte) 0x18, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht2  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht2  rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8303, Serial#: 9264
    public void prefetcht2_r9264(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0365((byte) 0x18, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht2  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht2  rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8304, Serial#: 9296
    public void prefetcht2_r9296(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0366((byte) 0x18, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht2  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht2  0x12345678[rsi * 4]}
     */
    // Template#: 8305, Serial#: 9215
    public void m_prefetcht2(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0367((byte) 0x18, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht2  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht2  0x12345678[rsi * 4]}
     */
    // Template#: 8306, Serial#: 9247
    public void m_prefetcht2_r9247(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0368((byte) 0x18, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht2  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetcht2  0x12345678[rsi * 4]}
     */
    // Template#: 8307, Serial#: 9279
    public void m_prefetcht2_r9279(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0369((byte) 0x18, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht2  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetcht2  [rbx + 305419896]}
     */
    // Template#: 8308, Serial#: 9231
    public void prefetcht2(int disp32, AMD64IndirectRegister64 destination) {
        assemble0370((byte) 0x18, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht2  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetcht2  [rbx + 305419896]}
     */
    // Template#: 8309, Serial#: 9263
    public void prefetcht2_r9263(int disp32, AMD64IndirectRegister64 destination) {
        assemble0371((byte) 0x18, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetcht2  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetcht2  [rbx + 305419896]}
     */
    // Template#: 8310, Serial#: 9295
    public void prefetcht2_r9295(int disp32, AMD64IndirectRegister64 destination) {
        assemble0372((byte) 0x18, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetchw  rbx[rsi * 4 + 18]}
     */
    // Template#: 8311, Serial#: 9141
    public void prefetchw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0349((byte) 0x0D, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetchw  rbx[rsi * 4 + 18]}
     */
    // Template#: 8312, Serial#: 9165
    public void prefetchw_r9165(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0350((byte) 0x0D, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetchw  rbx[rsi * 4 + 18]}
     */
    // Template#: 8313, Serial#: 9189
    public void prefetchw_r9189(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0351((byte) 0x0D, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetchw  [rbx + 18]}
     */
    // Template#: 8314, Serial#: 9140
    public void prefetchw(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0352((byte) 0x0D, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetchw  [rbx + 18]}
     */
    // Template#: 8315, Serial#: 9164
    public void prefetchw_r9164(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0353((byte) 0x0D, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetchw  [rbx + 18]}
     */
    // Template#: 8316, Serial#: 9188
    public void prefetchw_r9188(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0354((byte) 0x0D, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetchw  rbx[rsi * 4]}
     */
    // Template#: 8317, Serial#: 9131
    public void prefetchw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0355((byte) 0x0D, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetchw  rbx[rsi * 4]}
     */
    // Template#: 8318, Serial#: 9155
    public void prefetchw_r9155(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0356((byte) 0x0D, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetchw  rbx[rsi * 4]}
     */
    // Template#: 8319, Serial#: 9179
    public void prefetchw_r9179(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0357((byte) 0x0D, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchw  }<i>destination</i>
     * Example disassembly syntax: {@code prefetchw  [rbx]}
     */
    // Template#: 8320, Serial#: 9130
    public void prefetchw(AMD64IndirectRegister64 destination) {
        assemble0358((byte) 0x0D, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchw  }<i>destination</i>
     * Example disassembly syntax: {@code prefetchw  [rbx]}
     */
    // Template#: 8321, Serial#: 9154
    public void prefetchw_r9154(AMD64IndirectRegister64 destination) {
        assemble0359((byte) 0x0D, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchw  }<i>destination</i>
     * Example disassembly syntax: {@code prefetchw  [rbx]}
     */
    // Template#: 8322, Serial#: 9178
    public void prefetchw_r9178(AMD64IndirectRegister64 destination) {
        assemble0360((byte) 0x0D, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchw  }<i>rel32</i>
     * Example disassembly syntax: {@code prefetchw  [L1: +305419896]}
     */
    // Template#: 8323, Serial#: 9133
    public void rip_prefetchw(int rel32) {
        assemble0361((byte) 0x0D, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchw  }<i>rel32</i>
     * Example disassembly syntax: {@code prefetchw  [L1: +305419896]}
     */
    // Template#: 8324, Serial#: 9157
    public void rip_prefetchw_r9157(int rel32) {
        assemble0362((byte) 0x0D, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchw  }<i>rel32</i>
     * Example disassembly syntax: {@code prefetchw  [L1: +305419896]}
     */
    // Template#: 8325, Serial#: 9181
    public void rip_prefetchw_r9181(int rel32) {
        assemble0363((byte) 0x0D, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetchw  rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8326, Serial#: 9147
    public void prefetchw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0364((byte) 0x0D, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetchw  rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8327, Serial#: 9171
    public void prefetchw_r9171(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0365((byte) 0x0D, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetchw  rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8328, Serial#: 9195
    public void prefetchw_r9195(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0366((byte) 0x0D, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetchw  0x12345678[rsi * 4]}
     */
    // Template#: 8329, Serial#: 9132
    public void m_prefetchw(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0367((byte) 0x0D, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetchw  0x12345678[rsi * 4]}
     */
    // Template#: 8330, Serial#: 9156
    public void m_prefetchw_r9156(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0368((byte) 0x0D, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code prefetchw  0x12345678[rsi * 4]}
     */
    // Template#: 8331, Serial#: 9180
    public void m_prefetchw_r9180(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0369((byte) 0x0D, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetchw  [rbx + 305419896]}
     */
    // Template#: 8332, Serial#: 9146
    public void prefetchw(int disp32, AMD64IndirectRegister64 destination) {
        assemble0370((byte) 0x0D, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetchw  [rbx + 305419896]}
     */
    // Template#: 8333, Serial#: 9170
    public void prefetchw_r9170(int disp32, AMD64IndirectRegister64 destination) {
        assemble0371((byte) 0x0D, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code prefetchw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code prefetchw  [rbx + 305419896]}
     */
    // Template#: 8334, Serial#: 9194
    public void prefetchw_r9194(int disp32, AMD64IndirectRegister64 destination) {
        assemble0372((byte) 0x0D, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psadbw    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8335, Serial#: 9077
    public void psadbw(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xF6, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psadbw    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8336, Serial#: 9086
    public void psadbw_r9086(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xF6, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psadbw    xmm0, [rbx + 18]}
     */
    // Template#: 8337, Serial#: 9076
    public void psadbw(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xF6, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psadbw    xmm0, [rbx + 18]}
     */
    // Template#: 8338, Serial#: 9085
    public void psadbw_r9085(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xF6, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psadbw    xmm0, rbx[rsi * 4]}
     */
    // Template#: 8339, Serial#: 9073
    public void psadbw(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xF6, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psadbw    xmm0, rbx[rsi * 4]}
     */
    // Template#: 8340, Serial#: 9082
    public void psadbw_r9082(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xF6, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psadbw    xmm0, [rbx]}
     */
    // Template#: 8341, Serial#: 9072
    public void psadbw(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xF6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psadbw    xmm0, [rbx]}
     */
    // Template#: 8342, Serial#: 9081
    public void psadbw_r9081(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xF6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psadbw    xmm0, xmm0}
     */
    // Template#: 8343, Serial#: 9080
    public void psadbw(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xF6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psadbw    xmm0, xmm0}
     */
    // Template#: 8344, Serial#: 9089
    public void psadbw_r9089(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xF6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psadbw    xmm0, [L1: +305419896]}
     */
    // Template#: 8345, Serial#: 9075
    public void rip_psadbw(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xF6, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psadbw    xmm0, [L1: +305419896]}
     */
    // Template#: 8346, Serial#: 9084
    public void rip_psadbw_r9084(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xF6, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psadbw    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8347, Serial#: 9079
    public void psadbw(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xF6, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psadbw    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8348, Serial#: 9088
    public void psadbw_r9088(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xF6, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psadbw    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8349, Serial#: 9074
    public void m_psadbw(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xF6, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psadbw    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8350, Serial#: 9083
    public void m_psadbw_r9083(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xF6, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psadbw    xmm0, [rbx + 305419896]}
     */
    // Template#: 8351, Serial#: 9078
    public void psadbw(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xF6, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psadbw    xmm0, [rbx + 305419896]}
     */
    // Template#: 8352, Serial#: 9087
    public void psadbw_r9087(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xF6, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psadbw    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8353, Serial#: 8957
    public void psadbw(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xF6, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psadbw    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8354, Serial#: 8966
    public void psadbw_r8966(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xF6, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psadbw    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8355, Serial#: 8975
    public void psadbw_r8975(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xF6, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psadbw    mm0, [rbx + 18]}
     */
    // Template#: 8356, Serial#: 8956
    public void psadbw(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xF6, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psadbw    mm0, [rbx + 18]}
     */
    // Template#: 8357, Serial#: 8965
    public void psadbw_r8965(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xF6, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psadbw    mm0, [rbx + 18]}
     */
    // Template#: 8358, Serial#: 8974
    public void psadbw_r8974(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xF6, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psadbw    mm0, rbx[rsi * 4]}
     */
    // Template#: 8359, Serial#: 8953
    public void psadbw(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xF6, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psadbw    mm0, rbx[rsi * 4]}
     */
    // Template#: 8360, Serial#: 8962
    public void psadbw_r8962(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xF6, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psadbw    mm0, rbx[rsi * 4]}
     */
    // Template#: 8361, Serial#: 8971
    public void psadbw_r8971(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xF6, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psadbw    mm0, [rbx]}
     */
    // Template#: 8362, Serial#: 8952
    public void psadbw(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xF6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psadbw    mm0, [rbx]}
     */
    // Template#: 8363, Serial#: 8961
    public void psadbw_r8961(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xF6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psadbw    mm0, [rbx]}
     */
    // Template#: 8364, Serial#: 8970
    public void psadbw_r8970(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xF6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psadbw    mm0, mm0}
     */
    // Template#: 8365, Serial#: 8960
    public void psadbw(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xF6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psadbw    mm0, mm0}
     */
    // Template#: 8366, Serial#: 8969
    public void psadbw_r8969(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xF6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psadbw    mm0, mm0}
     */
    // Template#: 8367, Serial#: 8978
    public void psadbw_r8978(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xF6, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psadbw    mm0, [L1: +305419896]}
     */
    // Template#: 8368, Serial#: 8955
    public void rip_psadbw(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xF6, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psadbw    mm0, [L1: +305419896]}
     */
    // Template#: 8369, Serial#: 8964
    public void rip_psadbw_r8964(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xF6, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psadbw    mm0, [L1: +305419896]}
     */
    // Template#: 8370, Serial#: 8973
    public void rip_psadbw_r8973(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xF6, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psadbw    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8371, Serial#: 8959
    public void psadbw(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xF6, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psadbw    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8372, Serial#: 8968
    public void psadbw_r8968(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xF6, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psadbw    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8373, Serial#: 8977
    public void psadbw_r8977(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xF6, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psadbw    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8374, Serial#: 8954
    public void m_psadbw(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xF6, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psadbw    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8375, Serial#: 8963
    public void m_psadbw_r8963(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xF6, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psadbw    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8376, Serial#: 8972
    public void m_psadbw_r8972(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xF6, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psadbw    mm0, [rbx + 305419896]}
     */
    // Template#: 8377, Serial#: 8958
    public void psadbw(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xF6, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psadbw    mm0, [rbx + 305419896]}
     */
    // Template#: 8378, Serial#: 8967
    public void psadbw_r8967(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xF6, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psadbw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psadbw    mm0, [rbx + 305419896]}
     */
    // Template#: 8379, Serial#: 8976
    public void psadbw_r8976(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xF6, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufd    xmm0, rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 8380, Serial#: 7375
    public void pshufd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0997((byte) 0x70, destination, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufd    xmm0, rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 8381, Serial#: 7384
    public void pshufd_r7384(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1038((byte) 0x70, destination, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufd  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufd    xmm0, [rbx + 18], 0x12}
     */
    // Template#: 8382, Serial#: 7374
    public void pshufd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        assemble0998((byte) 0x70, destination, disp8, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufd  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufd    xmm0, [rbx + 18], 0x12}
     */
    // Template#: 8383, Serial#: 7383
    public void pshufd_r7383(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        assemble1039((byte) 0x70, destination, disp8, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufd    xmm0, rbx[rsi * 4], 0x12}
     */
    // Template#: 8384, Serial#: 7371
    public void pshufd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0999((byte) 0x70, destination, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufd    xmm0, rbx[rsi * 4], 0x12}
     */
    // Template#: 8385, Serial#: 7380
    public void pshufd_r7380(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1040((byte) 0x70, destination, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufd  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufd    xmm0, [rbx], 0x12}
     */
    // Template#: 8386, Serial#: 7370
    public void pshufd(AMD64XMMRegister destination, AMD64IndirectRegister64 source, byte imm8) {
        assemble1001((byte) 0x70, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufd  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufd    xmm0, [rbx], 0x12}
     */
    // Template#: 8387, Serial#: 7379
    public void pshufd_r7379(AMD64XMMRegister destination, AMD64IndirectRegister64 source, byte imm8) {
        assemble1041((byte) 0x70, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufd  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufd    xmm0, xmm0, 0x12}
     */
    // Template#: 8388, Serial#: 7378
    public void pshufd(AMD64XMMRegister destination, AMD64XMMRegister source, byte imm8) {
        assemble1042((byte) 0x70, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufd  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufd    xmm0, xmm0, 0x12}
     */
    // Template#: 8389, Serial#: 7387
    public void pshufd_r7387(AMD64XMMRegister destination, AMD64XMMRegister source, byte imm8) {
        assemble1043((byte) 0x70, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufd  }<i>destination</i>, <i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufd    xmm0, [L1: +305419896], 0x12}
     */
    // Template#: 8390, Serial#: 7373
    public void rip_pshufd(AMD64XMMRegister destination, int rel32, byte imm8) {
        assemble1002((byte) 0x70, destination, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufd  }<i>destination</i>, <i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufd    xmm0, [L1: +305419896], 0x12}
     */
    // Template#: 8391, Serial#: 7382
    public void rip_pshufd_r7382(AMD64XMMRegister destination, int rel32, byte imm8) {
        assemble1044((byte) 0x70, destination, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufd    xmm0, rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 8392, Serial#: 7377
    public void pshufd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1003((byte) 0x70, destination, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufd    xmm0, rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 8393, Serial#: 7386
    public void pshufd_r7386(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1045((byte) 0x70, destination, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufd    xmm0, 0x12345678[rsi * 4], 0x12}
     */
    // Template#: 8394, Serial#: 7372
    public void m_pshufd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1004((byte) 0x70, destination, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufd    xmm0, 0x12345678[rsi * 4], 0x12}
     */
    // Template#: 8395, Serial#: 7381
    public void m_pshufd_r7381(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1046((byte) 0x70, destination, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufd  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufd    xmm0, [rbx + 305419896], 0x12}
     */
    // Template#: 8396, Serial#: 7376
    public void pshufd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        assemble1005((byte) 0x70, destination, disp32, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufd  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufd    xmm0, [rbx + 305419896], 0x12}
     */
    // Template#: 8397, Serial#: 7385
    public void pshufd_r7385(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        assemble1047((byte) 0x70, destination, disp32, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufhw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufhw   xmm0, rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 8398, Serial#: 7495
    public void pshufhw(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1048((byte) 0x70, destination, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufhw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufhw   xmm0, rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 8399, Serial#: 7504
    public void pshufhw_r7504(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1049((byte) 0x70, destination, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufhw  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufhw   xmm0, [rbx + 18], 0x12}
     */
    // Template#: 8400, Serial#: 7494
    public void pshufhw(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        assemble1050((byte) 0x70, destination, disp8, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufhw  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufhw   xmm0, [rbx + 18], 0x12}
     */
    // Template#: 8401, Serial#: 7503
    public void pshufhw_r7503(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        assemble1051((byte) 0x70, destination, disp8, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufhw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufhw   xmm0, rbx[rsi * 4], 0x12}
     */
    // Template#: 8402, Serial#: 7491
    public void pshufhw(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1052((byte) 0x70, destination, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufhw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufhw   xmm0, rbx[rsi * 4], 0x12}
     */
    // Template#: 8403, Serial#: 7500
    public void pshufhw_r7500(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1053((byte) 0x70, destination, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufhw  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufhw   xmm0, [rbx], 0x12}
     */
    // Template#: 8404, Serial#: 7490
    public void pshufhw(AMD64XMMRegister destination, AMD64IndirectRegister64 source, byte imm8) {
        assemble1054((byte) 0x70, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufhw  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufhw   xmm0, [rbx], 0x12}
     */
    // Template#: 8405, Serial#: 7499
    public void pshufhw_r7499(AMD64XMMRegister destination, AMD64IndirectRegister64 source, byte imm8) {
        assemble1055((byte) 0x70, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufhw  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufhw   xmm0, xmm0, 0x12}
     */
    // Template#: 8406, Serial#: 7498
    public void pshufhw(AMD64XMMRegister destination, AMD64XMMRegister source, byte imm8) {
        assemble1056((byte) 0x70, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufhw  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufhw   xmm0, xmm0, 0x12}
     */
    // Template#: 8407, Serial#: 7507
    public void pshufhw_r7507(AMD64XMMRegister destination, AMD64XMMRegister source, byte imm8) {
        assemble1057((byte) 0x70, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufhw  }<i>destination</i>, <i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufhw   xmm0, [L1: +305419896], 0x12}
     */
    // Template#: 8408, Serial#: 7493
    public void rip_pshufhw(AMD64XMMRegister destination, int rel32, byte imm8) {
        assemble1058((byte) 0x70, destination, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufhw  }<i>destination</i>, <i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufhw   xmm0, [L1: +305419896], 0x12}
     */
    // Template#: 8409, Serial#: 7502
    public void rip_pshufhw_r7502(AMD64XMMRegister destination, int rel32, byte imm8) {
        assemble1059((byte) 0x70, destination, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufhw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufhw   xmm0, rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 8410, Serial#: 7497
    public void pshufhw(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1060((byte) 0x70, destination, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufhw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufhw   xmm0, rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 8411, Serial#: 7506
    public void pshufhw_r7506(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1061((byte) 0x70, destination, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufhw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufhw   xmm0, 0x12345678[rsi * 4], 0x12}
     */
    // Template#: 8412, Serial#: 7492
    public void m_pshufhw(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1062((byte) 0x70, destination, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufhw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufhw   xmm0, 0x12345678[rsi * 4], 0x12}
     */
    // Template#: 8413, Serial#: 7501
    public void m_pshufhw_r7501(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1063((byte) 0x70, destination, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufhw  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufhw   xmm0, [rbx + 305419896], 0x12}
     */
    // Template#: 8414, Serial#: 7496
    public void pshufhw(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        assemble1064((byte) 0x70, destination, disp32, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufhw  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufhw   xmm0, [rbx + 305419896], 0x12}
     */
    // Template#: 8415, Serial#: 7505
    public void pshufhw_r7505(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        assemble1065((byte) 0x70, destination, disp32, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshuflw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshuflw   xmm0, rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 8416, Serial#: 7477
    public void pshuflw(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1066((byte) 0x70, destination, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshuflw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshuflw   xmm0, rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 8417, Serial#: 7486
    public void pshuflw_r7486(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1067((byte) 0x70, destination, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshuflw  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshuflw   xmm0, [rbx + 18], 0x12}
     */
    // Template#: 8418, Serial#: 7476
    public void pshuflw(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        assemble1068((byte) 0x70, destination, disp8, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshuflw  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshuflw   xmm0, [rbx + 18], 0x12}
     */
    // Template#: 8419, Serial#: 7485
    public void pshuflw_r7485(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        assemble1069((byte) 0x70, destination, disp8, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshuflw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshuflw   xmm0, rbx[rsi * 4], 0x12}
     */
    // Template#: 8420, Serial#: 7473
    public void pshuflw(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1070((byte) 0x70, destination, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshuflw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshuflw   xmm0, rbx[rsi * 4], 0x12}
     */
    // Template#: 8421, Serial#: 7482
    public void pshuflw_r7482(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1071((byte) 0x70, destination, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshuflw  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshuflw   xmm0, [rbx], 0x12}
     */
    // Template#: 8422, Serial#: 7472
    public void pshuflw(AMD64XMMRegister destination, AMD64IndirectRegister64 source, byte imm8) {
        assemble1072((byte) 0x70, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshuflw  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshuflw   xmm0, [rbx], 0x12}
     */
    // Template#: 8423, Serial#: 7481
    public void pshuflw_r7481(AMD64XMMRegister destination, AMD64IndirectRegister64 source, byte imm8) {
        assemble1073((byte) 0x70, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshuflw  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshuflw   xmm0, xmm0, 0x12}
     */
    // Template#: 8424, Serial#: 7480
    public void pshuflw(AMD64XMMRegister destination, AMD64XMMRegister source, byte imm8) {
        assemble1074((byte) 0x70, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshuflw  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshuflw   xmm0, xmm0, 0x12}
     */
    // Template#: 8425, Serial#: 7489
    public void pshuflw_r7489(AMD64XMMRegister destination, AMD64XMMRegister source, byte imm8) {
        assemble1075((byte) 0x70, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshuflw  }<i>destination</i>, <i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshuflw   xmm0, [L1: +305419896], 0x12}
     */
    // Template#: 8426, Serial#: 7475
    public void rip_pshuflw(AMD64XMMRegister destination, int rel32, byte imm8) {
        assemble1076((byte) 0x70, destination, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshuflw  }<i>destination</i>, <i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshuflw   xmm0, [L1: +305419896], 0x12}
     */
    // Template#: 8427, Serial#: 7484
    public void rip_pshuflw_r7484(AMD64XMMRegister destination, int rel32, byte imm8) {
        assemble1077((byte) 0x70, destination, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshuflw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshuflw   xmm0, rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 8428, Serial#: 7479
    public void pshuflw(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1078((byte) 0x70, destination, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshuflw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshuflw   xmm0, rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 8429, Serial#: 7488
    public void pshuflw_r7488(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1079((byte) 0x70, destination, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshuflw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshuflw   xmm0, 0x12345678[rsi * 4], 0x12}
     */
    // Template#: 8430, Serial#: 7474
    public void m_pshuflw(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1080((byte) 0x70, destination, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshuflw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshuflw   xmm0, 0x12345678[rsi * 4], 0x12}
     */
    // Template#: 8431, Serial#: 7483
    public void m_pshuflw_r7483(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1081((byte) 0x70, destination, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshuflw  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshuflw   xmm0, [rbx + 305419896], 0x12}
     */
    // Template#: 8432, Serial#: 7478
    public void pshuflw(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        assemble1082((byte) 0x70, destination, disp32, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshuflw  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshuflw   xmm0, [rbx + 305419896], 0x12}
     */
    // Template#: 8433, Serial#: 7487
    public void pshuflw_r7487(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        assemble1083((byte) 0x70, destination, disp32, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufw    mm0, rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 8434, Serial#: 7240
    public void pshufw(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1006((byte) 0x70, destination, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufw    mm0, rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 8435, Serial#: 7249
    public void pshufw_r7249(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1084((byte) 0x70, destination, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufw    mm0, rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 8436, Serial#: 7258
    public void pshufw_r7258(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1085((byte) 0x70, destination, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufw  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufw    mm0, [rbx + 18], 0x12}
     */
    // Template#: 8437, Serial#: 7239
    public void pshufw(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        assemble1007((byte) 0x70, destination, disp8, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufw  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufw    mm0, [rbx + 18], 0x12}
     */
    // Template#: 8438, Serial#: 7248
    public void pshufw_r7248(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        assemble1086((byte) 0x70, destination, disp8, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufw  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufw    mm0, [rbx + 18], 0x12}
     */
    // Template#: 8439, Serial#: 7257
    public void pshufw_r7257(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        assemble1087((byte) 0x70, destination, disp8, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufw    mm0, rbx[rsi * 4], 0x12}
     */
    // Template#: 8440, Serial#: 7236
    public void pshufw(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1008((byte) 0x70, destination, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufw    mm0, rbx[rsi * 4], 0x12}
     */
    // Template#: 8441, Serial#: 7245
    public void pshufw_r7245(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1088((byte) 0x70, destination, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufw    mm0, rbx[rsi * 4], 0x12}
     */
    // Template#: 8442, Serial#: 7254
    public void pshufw_r7254(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1089((byte) 0x70, destination, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufw  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufw    mm0, [rbx], 0x12}
     */
    // Template#: 8443, Serial#: 7235
    public void pshufw(MMXRegister destination, AMD64IndirectRegister64 source, byte imm8) {
        assemble1010((byte) 0x70, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufw  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufw    mm0, [rbx], 0x12}
     */
    // Template#: 8444, Serial#: 7244
    public void pshufw_r7244(MMXRegister destination, AMD64IndirectRegister64 source, byte imm8) {
        assemble1090((byte) 0x70, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufw  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufw    mm0, [rbx], 0x12}
     */
    // Template#: 8445, Serial#: 7253
    public void pshufw_r7253(MMXRegister destination, AMD64IndirectRegister64 source, byte imm8) {
        assemble1091((byte) 0x70, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufw  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufw    mm0, mm0, 0x12}
     */
    // Template#: 8446, Serial#: 7243
    public void pshufw(MMXRegister destination, MMXRegister source, byte imm8) {
        assemble1092((byte) 0x70, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufw  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufw    mm0, mm0, 0x12}
     */
    // Template#: 8447, Serial#: 7252
    public void pshufw_r7252(MMXRegister destination, MMXRegister source, byte imm8) {
        assemble1093((byte) 0x70, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufw  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufw    mm0, mm0, 0x12}
     */
    // Template#: 8448, Serial#: 7261
    public void pshufw_r7261(MMXRegister destination, MMXRegister source, byte imm8) {
        assemble1094((byte) 0x70, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufw  }<i>destination</i>, <i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufw    mm0, [L1: +305419896], 0x12}
     */
    // Template#: 8449, Serial#: 7238
    public void rip_pshufw(MMXRegister destination, int rel32, byte imm8) {
        assemble1011((byte) 0x70, destination, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufw  }<i>destination</i>, <i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufw    mm0, [L1: +305419896], 0x12}
     */
    // Template#: 8450, Serial#: 7247
    public void rip_pshufw_r7247(MMXRegister destination, int rel32, byte imm8) {
        assemble1095((byte) 0x70, destination, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufw  }<i>destination</i>, <i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufw    mm0, [L1: +305419896], 0x12}
     */
    // Template#: 8451, Serial#: 7256
    public void rip_pshufw_r7256(MMXRegister destination, int rel32, byte imm8) {
        assemble1096((byte) 0x70, destination, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufw    mm0, rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 8452, Serial#: 7242
    public void pshufw(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1012((byte) 0x70, destination, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufw    mm0, rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 8453, Serial#: 7251
    public void pshufw_r7251(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1097((byte) 0x70, destination, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufw    mm0, rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 8454, Serial#: 7260
    public void pshufw_r7260(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1098((byte) 0x70, destination, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufw    mm0, 0x12345678[rsi * 4], 0x12}
     */
    // Template#: 8455, Serial#: 7237
    public void m_pshufw(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1013((byte) 0x70, destination, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufw    mm0, 0x12345678[rsi * 4], 0x12}
     */
    // Template#: 8456, Serial#: 7246
    public void m_pshufw_r7246(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1099((byte) 0x70, destination, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufw    mm0, 0x12345678[rsi * 4], 0x12}
     */
    // Template#: 8457, Serial#: 7255
    public void m_pshufw_r7255(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1100((byte) 0x70, destination, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufw  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufw    mm0, [rbx + 305419896], 0x12}
     */
    // Template#: 8458, Serial#: 7241
    public void pshufw(MMXRegister destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        assemble1014((byte) 0x70, destination, disp32, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufw  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufw    mm0, [rbx + 305419896], 0x12}
     */
    // Template#: 8459, Serial#: 7250
    public void pshufw_r7250(MMXRegister destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        assemble1101((byte) 0x70, destination, disp32, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pshufw  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pshufw    mm0, [rbx + 305419896], 0x12}
     */
    // Template#: 8460, Serial#: 7259
    public void pshufw_r7259(MMXRegister destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        assemble1102((byte) 0x70, destination, disp32, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pslld     xmm0, 0x12}
     */
    // Template#: 8461, Serial#: 7399
    public void pslld(AMD64XMMRegister destination, byte imm8) {
        assemble1103((byte) 0x72, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pslld     xmm0, 0x12}
     */
    // Template#: 8462, Serial#: 7402
    public void pslld_r7402(AMD64XMMRegister destination, byte imm8) {
        assemble1104((byte) 0x72, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pslld     xmm0, 0x12}
     */
    // Template#: 8463, Serial#: 7405
    public void pslld_r7405(AMD64XMMRegister destination, byte imm8) {
        assemble1105((byte) 0x72, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pslld     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8464, Serial#: 9005
    public void pslld(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xF2, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pslld     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8465, Serial#: 9014
    public void pslld_r9014(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xF2, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pslld     xmm0, [rbx + 18]}
     */
    // Template#: 8466, Serial#: 9004
    public void pslld(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xF2, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pslld     xmm0, [rbx + 18]}
     */
    // Template#: 8467, Serial#: 9013
    public void pslld_r9013(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xF2, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pslld     xmm0, rbx[rsi * 4]}
     */
    // Template#: 8468, Serial#: 9001
    public void pslld(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xF2, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pslld     xmm0, rbx[rsi * 4]}
     */
    // Template#: 8469, Serial#: 9010
    public void pslld_r9010(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xF2, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pslld     xmm0, [rbx]}
     */
    // Template#: 8470, Serial#: 9000
    public void pslld(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xF2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pslld     xmm0, [rbx]}
     */
    // Template#: 8471, Serial#: 9009
    public void pslld_r9009(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xF2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pslld     xmm0, xmm0}
     */
    // Template#: 8472, Serial#: 9008
    public void pslld(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xF2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pslld     xmm0, xmm0}
     */
    // Template#: 8473, Serial#: 9017
    public void pslld_r9017(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xF2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pslld     xmm0, [L1: +305419896]}
     */
    // Template#: 8474, Serial#: 9003
    public void rip_pslld(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xF2, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pslld     xmm0, [L1: +305419896]}
     */
    // Template#: 8475, Serial#: 9012
    public void rip_pslld_r9012(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xF2, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pslld     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8476, Serial#: 9007
    public void pslld(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xF2, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pslld     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8477, Serial#: 9016
    public void pslld_r9016(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xF2, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pslld     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8478, Serial#: 9002
    public void m_pslld(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xF2, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pslld     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8479, Serial#: 9011
    public void m_pslld_r9011(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xF2, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pslld     xmm0, [rbx + 305419896]}
     */
    // Template#: 8480, Serial#: 9006
    public void pslld(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xF2, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pslld     xmm0, [rbx + 305419896]}
     */
    // Template#: 8481, Serial#: 9015
    public void pslld_r9015(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xF2, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pslld     mm0, 0x12}
     */
    // Template#: 8482, Serial#: 7273
    public void pslld(MMXRegister destination, byte imm8) {
        assemble1106((byte) 0x72, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pslld     mm0, 0x12}
     */
    // Template#: 8483, Serial#: 7276
    public void pslld_r7276(MMXRegister destination, byte imm8) {
        assemble1107((byte) 0x72, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pslld     mm0, 0x12}
     */
    // Template#: 8484, Serial#: 7279
    public void pslld_r7279(MMXRegister destination, byte imm8) {
        assemble1108((byte) 0x72, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pslld     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8485, Serial#: 8849
    public void pslld(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xF2, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pslld     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8486, Serial#: 8858
    public void pslld_r8858(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xF2, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pslld     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8487, Serial#: 8867
    public void pslld_r8867(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xF2, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pslld     mm0, [rbx + 18]}
     */
    // Template#: 8488, Serial#: 8848
    public void pslld(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xF2, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pslld     mm0, [rbx + 18]}
     */
    // Template#: 8489, Serial#: 8857
    public void pslld_r8857(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xF2, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pslld     mm0, [rbx + 18]}
     */
    // Template#: 8490, Serial#: 8866
    public void pslld_r8866(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xF2, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pslld     mm0, rbx[rsi * 4]}
     */
    // Template#: 8491, Serial#: 8845
    public void pslld(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xF2, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pslld     mm0, rbx[rsi * 4]}
     */
    // Template#: 8492, Serial#: 8854
    public void pslld_r8854(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xF2, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pslld     mm0, rbx[rsi * 4]}
     */
    // Template#: 8493, Serial#: 8863
    public void pslld_r8863(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xF2, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pslld     mm0, [rbx]}
     */
    // Template#: 8494, Serial#: 8844
    public void pslld(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xF2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pslld     mm0, [rbx]}
     */
    // Template#: 8495, Serial#: 8853
    public void pslld_r8853(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xF2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pslld     mm0, [rbx]}
     */
    // Template#: 8496, Serial#: 8862
    public void pslld_r8862(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xF2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pslld     mm0, mm0}
     */
    // Template#: 8497, Serial#: 8852
    public void pslld(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xF2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pslld     mm0, mm0}
     */
    // Template#: 8498, Serial#: 8861
    public void pslld_r8861(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xF2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pslld     mm0, mm0}
     */
    // Template#: 8499, Serial#: 8870
    public void pslld_r8870(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xF2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pslld     mm0, [L1: +305419896]}
     */
    // Template#: 8500, Serial#: 8847
    public void rip_pslld(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xF2, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pslld     mm0, [L1: +305419896]}
     */
    // Template#: 8501, Serial#: 8856
    public void rip_pslld_r8856(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xF2, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pslld     mm0, [L1: +305419896]}
     */
    // Template#: 8502, Serial#: 8865
    public void rip_pslld_r8865(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xF2, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pslld     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8503, Serial#: 8851
    public void pslld(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xF2, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pslld     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8504, Serial#: 8860
    public void pslld_r8860(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xF2, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pslld     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8505, Serial#: 8869
    public void pslld_r8869(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xF2, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pslld     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8506, Serial#: 8846
    public void m_pslld(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xF2, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pslld     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8507, Serial#: 8855
    public void m_pslld_r8855(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xF2, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pslld     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8508, Serial#: 8864
    public void m_pslld_r8864(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xF2, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pslld     mm0, [rbx + 305419896]}
     */
    // Template#: 8509, Serial#: 8850
    public void pslld(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xF2, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pslld     mm0, [rbx + 305419896]}
     */
    // Template#: 8510, Serial#: 8859
    public void pslld_r8859(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xF2, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslld  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pslld     mm0, [rbx + 305419896]}
     */
    // Template#: 8511, Serial#: 8868
    public void pslld_r8868(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xF2, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslldq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pslldq    xmm0, 0x12}
     */
    // Template#: 8512, Serial#: 7409
    public void pslldq(AMD64XMMRegister destination, byte imm8) {
        assemble1103((byte) 0x73, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslldq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pslldq    xmm0, 0x12}
     */
    // Template#: 8513, Serial#: 7413
    public void pslldq_r7413(AMD64XMMRegister destination, byte imm8) {
        assemble1104((byte) 0x73, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code pslldq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code pslldq    xmm0, 0x12}
     */
    // Template#: 8514, Serial#: 7417
    public void pslldq_r7417(AMD64XMMRegister destination, byte imm8) {
        assemble1105((byte) 0x73, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psllq     xmm0, 0x12}
     */
    // Template#: 8515, Serial#: 7408
    public void psllq(AMD64XMMRegister destination, byte imm8) {
        assemble1103((byte) 0x73, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psllq     xmm0, 0x12}
     */
    // Template#: 8516, Serial#: 7412
    public void psllq_r7412(AMD64XMMRegister destination, byte imm8) {
        assemble1104((byte) 0x73, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psllq     xmm0, 0x12}
     */
    // Template#: 8517, Serial#: 7416
    public void psllq_r7416(AMD64XMMRegister destination, byte imm8) {
        assemble1105((byte) 0x73, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllq     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8518, Serial#: 9023
    public void psllq(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xF3, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllq     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8519, Serial#: 9032
    public void psllq_r9032(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xF3, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psllq     xmm0, [rbx + 18]}
     */
    // Template#: 8520, Serial#: 9022
    public void psllq(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xF3, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psllq     xmm0, [rbx + 18]}
     */
    // Template#: 8521, Serial#: 9031
    public void psllq_r9031(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xF3, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllq     xmm0, rbx[rsi * 4]}
     */
    // Template#: 8522, Serial#: 9019
    public void psllq(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xF3, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllq     xmm0, rbx[rsi * 4]}
     */
    // Template#: 8523, Serial#: 9028
    public void psllq_r9028(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xF3, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psllq     xmm0, [rbx]}
     */
    // Template#: 8524, Serial#: 9018
    public void psllq(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xF3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psllq     xmm0, [rbx]}
     */
    // Template#: 8525, Serial#: 9027
    public void psllq_r9027(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xF3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psllq     xmm0, xmm0}
     */
    // Template#: 8526, Serial#: 9026
    public void psllq(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xF3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psllq     xmm0, xmm0}
     */
    // Template#: 8527, Serial#: 9035
    public void psllq_r9035(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xF3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psllq     xmm0, [L1: +305419896]}
     */
    // Template#: 8528, Serial#: 9021
    public void rip_psllq(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xF3, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psllq     xmm0, [L1: +305419896]}
     */
    // Template#: 8529, Serial#: 9030
    public void rip_psllq_r9030(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xF3, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllq     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8530, Serial#: 9025
    public void psllq(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xF3, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllq     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8531, Serial#: 9034
    public void psllq_r9034(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xF3, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllq     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8532, Serial#: 9020
    public void m_psllq(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xF3, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllq     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8533, Serial#: 9029
    public void m_psllq_r9029(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xF3, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psllq     xmm0, [rbx + 305419896]}
     */
    // Template#: 8534, Serial#: 9024
    public void psllq(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xF3, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psllq     xmm0, [rbx + 305419896]}
     */
    // Template#: 8535, Serial#: 9033
    public void psllq_r9033(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xF3, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psllq     mm0, 0x12}
     */
    // Template#: 8536, Serial#: 7281
    public void psllq(MMXRegister destination, byte imm8) {
        assemble1106((byte) 0x73, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psllq     mm0, 0x12}
     */
    // Template#: 8537, Serial#: 7283
    public void psllq_r7283(MMXRegister destination, byte imm8) {
        assemble1107((byte) 0x73, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psllq     mm0, 0x12}
     */
    // Template#: 8538, Serial#: 7285
    public void psllq_r7285(MMXRegister destination, byte imm8) {
        assemble1108((byte) 0x73, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllq     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8539, Serial#: 8876
    public void psllq(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xF3, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllq     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8540, Serial#: 8885
    public void psllq_r8885(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xF3, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllq     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8541, Serial#: 8894
    public void psllq_r8894(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xF3, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psllq     mm0, [rbx + 18]}
     */
    // Template#: 8542, Serial#: 8875
    public void psllq(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xF3, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psllq     mm0, [rbx + 18]}
     */
    // Template#: 8543, Serial#: 8884
    public void psllq_r8884(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xF3, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psllq     mm0, [rbx + 18]}
     */
    // Template#: 8544, Serial#: 8893
    public void psllq_r8893(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xF3, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllq     mm0, rbx[rsi * 4]}
     */
    // Template#: 8545, Serial#: 8872
    public void psllq(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xF3, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllq     mm0, rbx[rsi * 4]}
     */
    // Template#: 8546, Serial#: 8881
    public void psllq_r8881(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xF3, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllq     mm0, rbx[rsi * 4]}
     */
    // Template#: 8547, Serial#: 8890
    public void psllq_r8890(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xF3, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psllq     mm0, [rbx]}
     */
    // Template#: 8548, Serial#: 8871
    public void psllq(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xF3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psllq     mm0, [rbx]}
     */
    // Template#: 8549, Serial#: 8880
    public void psllq_r8880(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xF3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psllq     mm0, [rbx]}
     */
    // Template#: 8550, Serial#: 8889
    public void psllq_r8889(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xF3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psllq     mm0, mm0}
     */
    // Template#: 8551, Serial#: 8879
    public void psllq(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xF3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psllq     mm0, mm0}
     */
    // Template#: 8552, Serial#: 8888
    public void psllq_r8888(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xF3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psllq     mm0, mm0}
     */
    // Template#: 8553, Serial#: 8897
    public void psllq_r8897(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xF3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psllq     mm0, [L1: +305419896]}
     */
    // Template#: 8554, Serial#: 8874
    public void rip_psllq(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xF3, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psllq     mm0, [L1: +305419896]}
     */
    // Template#: 8555, Serial#: 8883
    public void rip_psllq_r8883(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xF3, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psllq     mm0, [L1: +305419896]}
     */
    // Template#: 8556, Serial#: 8892
    public void rip_psllq_r8892(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xF3, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllq     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8557, Serial#: 8878
    public void psllq(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xF3, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllq     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8558, Serial#: 8887
    public void psllq_r8887(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xF3, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllq     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8559, Serial#: 8896
    public void psllq_r8896(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xF3, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllq     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8560, Serial#: 8873
    public void m_psllq(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xF3, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllq     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8561, Serial#: 8882
    public void m_psllq_r8882(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xF3, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllq     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8562, Serial#: 8891
    public void m_psllq_r8891(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xF3, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psllq     mm0, [rbx + 305419896]}
     */
    // Template#: 8563, Serial#: 8877
    public void psllq(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xF3, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psllq     mm0, [rbx + 305419896]}
     */
    // Template#: 8564, Serial#: 8886
    public void psllq_r8886(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xF3, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psllq     mm0, [rbx + 305419896]}
     */
    // Template#: 8565, Serial#: 8895
    public void psllq_r8895(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xF3, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psllw     xmm0, 0x12}
     */
    // Template#: 8566, Serial#: 7390
    public void psllw(AMD64XMMRegister destination, byte imm8) {
        assemble1103((byte) 0x71, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psllw     xmm0, 0x12}
     */
    // Template#: 8567, Serial#: 7393
    public void psllw_r7393(AMD64XMMRegister destination, byte imm8) {
        assemble1104((byte) 0x71, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psllw     xmm0, 0x12}
     */
    // Template#: 8568, Serial#: 7396
    public void psllw_r7396(AMD64XMMRegister destination, byte imm8) {
        assemble1105((byte) 0x71, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllw     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8569, Serial#: 8987
    public void psllw(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xF1, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllw     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8570, Serial#: 8996
    public void psllw_r8996(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xF1, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psllw     xmm0, [rbx + 18]}
     */
    // Template#: 8571, Serial#: 8986
    public void psllw(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xF1, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psllw     xmm0, [rbx + 18]}
     */
    // Template#: 8572, Serial#: 8995
    public void psllw_r8995(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xF1, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllw     xmm0, rbx[rsi * 4]}
     */
    // Template#: 8573, Serial#: 8983
    public void psllw(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xF1, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllw     xmm0, rbx[rsi * 4]}
     */
    // Template#: 8574, Serial#: 8992
    public void psllw_r8992(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xF1, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psllw     xmm0, [rbx]}
     */
    // Template#: 8575, Serial#: 8982
    public void psllw(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xF1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psllw     xmm0, [rbx]}
     */
    // Template#: 8576, Serial#: 8991
    public void psllw_r8991(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xF1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psllw     xmm0, xmm0}
     */
    // Template#: 8577, Serial#: 8990
    public void psllw(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xF1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psllw     xmm0, xmm0}
     */
    // Template#: 8578, Serial#: 8999
    public void psllw_r8999(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xF1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psllw     xmm0, [L1: +305419896]}
     */
    // Template#: 8579, Serial#: 8985
    public void rip_psllw(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xF1, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psllw     xmm0, [L1: +305419896]}
     */
    // Template#: 8580, Serial#: 8994
    public void rip_psllw_r8994(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xF1, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllw     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8581, Serial#: 8989
    public void psllw(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xF1, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllw     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8582, Serial#: 8998
    public void psllw_r8998(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xF1, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllw     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8583, Serial#: 8984
    public void m_psllw(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xF1, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllw     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8584, Serial#: 8993
    public void m_psllw_r8993(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xF1, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psllw     xmm0, [rbx + 305419896]}
     */
    // Template#: 8585, Serial#: 8988
    public void psllw(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xF1, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psllw     xmm0, [rbx + 305419896]}
     */
    // Template#: 8586, Serial#: 8997
    public void psllw_r8997(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xF1, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psllw     mm0, 0x12}
     */
    // Template#: 8587, Serial#: 7264
    public void psllw(MMXRegister destination, byte imm8) {
        assemble1106((byte) 0x71, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psllw     mm0, 0x12}
     */
    // Template#: 8588, Serial#: 7267
    public void psllw_r7267(MMXRegister destination, byte imm8) {
        assemble1107((byte) 0x71, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psllw     mm0, 0x12}
     */
    // Template#: 8589, Serial#: 7270
    public void psllw_r7270(MMXRegister destination, byte imm8) {
        assemble1108((byte) 0x71, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllw     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8590, Serial#: 8822
    public void psllw(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xF1, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllw     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8591, Serial#: 8831
    public void psllw_r8831(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xF1, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllw     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8592, Serial#: 8840
    public void psllw_r8840(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xF1, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psllw     mm0, [rbx + 18]}
     */
    // Template#: 8593, Serial#: 8821
    public void psllw(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xF1, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psllw     mm0, [rbx + 18]}
     */
    // Template#: 8594, Serial#: 8830
    public void psllw_r8830(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xF1, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psllw     mm0, [rbx + 18]}
     */
    // Template#: 8595, Serial#: 8839
    public void psllw_r8839(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xF1, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllw     mm0, rbx[rsi * 4]}
     */
    // Template#: 8596, Serial#: 8818
    public void psllw(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xF1, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllw     mm0, rbx[rsi * 4]}
     */
    // Template#: 8597, Serial#: 8827
    public void psllw_r8827(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xF1, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllw     mm0, rbx[rsi * 4]}
     */
    // Template#: 8598, Serial#: 8836
    public void psllw_r8836(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xF1, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psllw     mm0, [rbx]}
     */
    // Template#: 8599, Serial#: 8817
    public void psllw(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xF1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psllw     mm0, [rbx]}
     */
    // Template#: 8600, Serial#: 8826
    public void psllw_r8826(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xF1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psllw     mm0, [rbx]}
     */
    // Template#: 8601, Serial#: 8835
    public void psllw_r8835(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xF1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psllw     mm0, mm0}
     */
    // Template#: 8602, Serial#: 8825
    public void psllw(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xF1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psllw     mm0, mm0}
     */
    // Template#: 8603, Serial#: 8834
    public void psllw_r8834(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xF1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psllw     mm0, mm0}
     */
    // Template#: 8604, Serial#: 8843
    public void psllw_r8843(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xF1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psllw     mm0, [L1: +305419896]}
     */
    // Template#: 8605, Serial#: 8820
    public void rip_psllw(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xF1, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psllw     mm0, [L1: +305419896]}
     */
    // Template#: 8606, Serial#: 8829
    public void rip_psllw_r8829(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xF1, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psllw     mm0, [L1: +305419896]}
     */
    // Template#: 8607, Serial#: 8838
    public void rip_psllw_r8838(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xF1, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllw     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8608, Serial#: 8824
    public void psllw(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xF1, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllw     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8609, Serial#: 8833
    public void psllw_r8833(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xF1, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllw     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8610, Serial#: 8842
    public void psllw_r8842(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xF1, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllw     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8611, Serial#: 8819
    public void m_psllw(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xF1, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllw     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8612, Serial#: 8828
    public void m_psllw_r8828(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xF1, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psllw     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8613, Serial#: 8837
    public void m_psllw_r8837(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xF1, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psllw     mm0, [rbx + 305419896]}
     */
    // Template#: 8614, Serial#: 8823
    public void psllw(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xF1, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psllw     mm0, [rbx + 305419896]}
     */
    // Template#: 8615, Serial#: 8832
    public void psllw_r8832(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xF1, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psllw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psllw     mm0, [rbx + 305419896]}
     */
    // Template#: 8616, Serial#: 8841
    public void psllw_r8841(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xF1, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psrad     xmm0, 0x12}
     */
    // Template#: 8617, Serial#: 7398
    public void psrad(AMD64XMMRegister destination, byte imm8) {
        assemble1103((byte) 0x72, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psrad     xmm0, 0x12}
     */
    // Template#: 8618, Serial#: 7401
    public void psrad_r7401(AMD64XMMRegister destination, byte imm8) {
        assemble1104((byte) 0x72, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psrad     xmm0, 0x12}
     */
    // Template#: 8619, Serial#: 7404
    public void psrad_r7404(AMD64XMMRegister destination, byte imm8) {
        assemble1105((byte) 0x72, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrad     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8620, Serial#: 8672
    public void psrad(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xE2, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrad     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8621, Serial#: 8681
    public void psrad_r8681(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xE2, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psrad     xmm0, [rbx + 18]}
     */
    // Template#: 8622, Serial#: 8671
    public void psrad(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xE2, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psrad     xmm0, [rbx + 18]}
     */
    // Template#: 8623, Serial#: 8680
    public void psrad_r8680(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xE2, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrad     xmm0, rbx[rsi * 4]}
     */
    // Template#: 8624, Serial#: 8668
    public void psrad(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xE2, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrad     xmm0, rbx[rsi * 4]}
     */
    // Template#: 8625, Serial#: 8677
    public void psrad_r8677(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xE2, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrad     xmm0, [rbx]}
     */
    // Template#: 8626, Serial#: 8667
    public void psrad(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xE2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrad     xmm0, [rbx]}
     */
    // Template#: 8627, Serial#: 8676
    public void psrad_r8676(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xE2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrad     xmm0, xmm0}
     */
    // Template#: 8628, Serial#: 8675
    public void psrad(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xE2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrad     xmm0, xmm0}
     */
    // Template#: 8629, Serial#: 8684
    public void psrad_r8684(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xE2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psrad     xmm0, [L1: +305419896]}
     */
    // Template#: 8630, Serial#: 8670
    public void rip_psrad(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xE2, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psrad     xmm0, [L1: +305419896]}
     */
    // Template#: 8631, Serial#: 8679
    public void rip_psrad_r8679(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xE2, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrad     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8632, Serial#: 8674
    public void psrad(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xE2, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrad     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8633, Serial#: 8683
    public void psrad_r8683(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xE2, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrad     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8634, Serial#: 8669
    public void m_psrad(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xE2, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrad     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8635, Serial#: 8678
    public void m_psrad_r8678(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xE2, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psrad     xmm0, [rbx + 305419896]}
     */
    // Template#: 8636, Serial#: 8673
    public void psrad(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xE2, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psrad     xmm0, [rbx + 305419896]}
     */
    // Template#: 8637, Serial#: 8682
    public void psrad_r8682(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xE2, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psrad     mm0, 0x12}
     */
    // Template#: 8638, Serial#: 7272
    public void psrad(MMXRegister destination, byte imm8) {
        assemble1106((byte) 0x72, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psrad     mm0, 0x12}
     */
    // Template#: 8639, Serial#: 7275
    public void psrad_r7275(MMXRegister destination, byte imm8) {
        assemble1107((byte) 0x72, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psrad     mm0, 0x12}
     */
    // Template#: 8640, Serial#: 7278
    public void psrad_r7278(MMXRegister destination, byte imm8) {
        assemble1108((byte) 0x72, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrad     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8641, Serial#: 8504
    public void psrad(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xE2, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrad     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8642, Serial#: 8513
    public void psrad_r8513(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xE2, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrad     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8643, Serial#: 8522
    public void psrad_r8522(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xE2, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psrad     mm0, [rbx + 18]}
     */
    // Template#: 8644, Serial#: 8503
    public void psrad(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xE2, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psrad     mm0, [rbx + 18]}
     */
    // Template#: 8645, Serial#: 8512
    public void psrad_r8512(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xE2, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psrad     mm0, [rbx + 18]}
     */
    // Template#: 8646, Serial#: 8521
    public void psrad_r8521(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xE2, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrad     mm0, rbx[rsi * 4]}
     */
    // Template#: 8647, Serial#: 8500
    public void psrad(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xE2, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrad     mm0, rbx[rsi * 4]}
     */
    // Template#: 8648, Serial#: 8509
    public void psrad_r8509(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xE2, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrad     mm0, rbx[rsi * 4]}
     */
    // Template#: 8649, Serial#: 8518
    public void psrad_r8518(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xE2, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrad     mm0, [rbx]}
     */
    // Template#: 8650, Serial#: 8499
    public void psrad(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xE2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrad     mm0, [rbx]}
     */
    // Template#: 8651, Serial#: 8508
    public void psrad_r8508(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xE2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrad     mm0, [rbx]}
     */
    // Template#: 8652, Serial#: 8517
    public void psrad_r8517(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xE2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrad     mm0, mm0}
     */
    // Template#: 8653, Serial#: 8507
    public void psrad(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xE2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrad     mm0, mm0}
     */
    // Template#: 8654, Serial#: 8516
    public void psrad_r8516(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xE2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrad     mm0, mm0}
     */
    // Template#: 8655, Serial#: 8525
    public void psrad_r8525(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xE2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psrad     mm0, [L1: +305419896]}
     */
    // Template#: 8656, Serial#: 8502
    public void rip_psrad(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xE2, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psrad     mm0, [L1: +305419896]}
     */
    // Template#: 8657, Serial#: 8511
    public void rip_psrad_r8511(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xE2, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psrad     mm0, [L1: +305419896]}
     */
    // Template#: 8658, Serial#: 8520
    public void rip_psrad_r8520(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xE2, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrad     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8659, Serial#: 8506
    public void psrad(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xE2, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrad     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8660, Serial#: 8515
    public void psrad_r8515(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xE2, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrad     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8661, Serial#: 8524
    public void psrad_r8524(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xE2, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrad     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8662, Serial#: 8501
    public void m_psrad(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xE2, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrad     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8663, Serial#: 8510
    public void m_psrad_r8510(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xE2, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrad     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8664, Serial#: 8519
    public void m_psrad_r8519(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xE2, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psrad     mm0, [rbx + 305419896]}
     */
    // Template#: 8665, Serial#: 8505
    public void psrad(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xE2, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psrad     mm0, [rbx + 305419896]}
     */
    // Template#: 8666, Serial#: 8514
    public void psrad_r8514(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xE2, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrad  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psrad     mm0, [rbx + 305419896]}
     */
    // Template#: 8667, Serial#: 8523
    public void psrad_r8523(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xE2, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psraw     xmm0, 0x12}
     */
    // Template#: 8668, Serial#: 7389
    public void psraw(AMD64XMMRegister destination, byte imm8) {
        assemble1103((byte) 0x71, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psraw     xmm0, 0x12}
     */
    // Template#: 8669, Serial#: 7392
    public void psraw_r7392(AMD64XMMRegister destination, byte imm8) {
        assemble1104((byte) 0x71, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psraw     xmm0, 0x12}
     */
    // Template#: 8670, Serial#: 7395
    public void psraw_r7395(AMD64XMMRegister destination, byte imm8) {
        assemble1105((byte) 0x71, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psraw     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8671, Serial#: 8654
    public void psraw(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xE1, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psraw     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8672, Serial#: 8663
    public void psraw_r8663(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xE1, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psraw     xmm0, [rbx + 18]}
     */
    // Template#: 8673, Serial#: 8653
    public void psraw(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xE1, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psraw     xmm0, [rbx + 18]}
     */
    // Template#: 8674, Serial#: 8662
    public void psraw_r8662(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xE1, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psraw     xmm0, rbx[rsi * 4]}
     */
    // Template#: 8675, Serial#: 8650
    public void psraw(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xE1, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psraw     xmm0, rbx[rsi * 4]}
     */
    // Template#: 8676, Serial#: 8659
    public void psraw_r8659(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xE1, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psraw     xmm0, [rbx]}
     */
    // Template#: 8677, Serial#: 8649
    public void psraw(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xE1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psraw     xmm0, [rbx]}
     */
    // Template#: 8678, Serial#: 8658
    public void psraw_r8658(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xE1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psraw     xmm0, xmm0}
     */
    // Template#: 8679, Serial#: 8657
    public void psraw(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xE1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psraw     xmm0, xmm0}
     */
    // Template#: 8680, Serial#: 8666
    public void psraw_r8666(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xE1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psraw     xmm0, [L1: +305419896]}
     */
    // Template#: 8681, Serial#: 8652
    public void rip_psraw(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xE1, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psraw     xmm0, [L1: +305419896]}
     */
    // Template#: 8682, Serial#: 8661
    public void rip_psraw_r8661(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xE1, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psraw     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8683, Serial#: 8656
    public void psraw(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xE1, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psraw     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8684, Serial#: 8665
    public void psraw_r8665(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xE1, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psraw     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8685, Serial#: 8651
    public void m_psraw(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xE1, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psraw     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8686, Serial#: 8660
    public void m_psraw_r8660(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xE1, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psraw     xmm0, [rbx + 305419896]}
     */
    // Template#: 8687, Serial#: 8655
    public void psraw(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xE1, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psraw     xmm0, [rbx + 305419896]}
     */
    // Template#: 8688, Serial#: 8664
    public void psraw_r8664(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xE1, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psraw     mm0, 0x12}
     */
    // Template#: 8689, Serial#: 7263
    public void psraw(MMXRegister destination, byte imm8) {
        assemble1106((byte) 0x71, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psraw     mm0, 0x12}
     */
    // Template#: 8690, Serial#: 7266
    public void psraw_r7266(MMXRegister destination, byte imm8) {
        assemble1107((byte) 0x71, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psraw     mm0, 0x12}
     */
    // Template#: 8691, Serial#: 7269
    public void psraw_r7269(MMXRegister destination, byte imm8) {
        assemble1108((byte) 0x71, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psraw     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8692, Serial#: 8477
    public void psraw(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xE1, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psraw     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8693, Serial#: 8486
    public void psraw_r8486(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xE1, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psraw     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8694, Serial#: 8495
    public void psraw_r8495(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xE1, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psraw     mm0, [rbx + 18]}
     */
    // Template#: 8695, Serial#: 8476
    public void psraw(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xE1, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psraw     mm0, [rbx + 18]}
     */
    // Template#: 8696, Serial#: 8485
    public void psraw_r8485(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xE1, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psraw     mm0, [rbx + 18]}
     */
    // Template#: 8697, Serial#: 8494
    public void psraw_r8494(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xE1, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psraw     mm0, rbx[rsi * 4]}
     */
    // Template#: 8698, Serial#: 8473
    public void psraw(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xE1, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psraw     mm0, rbx[rsi * 4]}
     */
    // Template#: 8699, Serial#: 8482
    public void psraw_r8482(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xE1, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psraw     mm0, rbx[rsi * 4]}
     */
    // Template#: 8700, Serial#: 8491
    public void psraw_r8491(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xE1, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psraw     mm0, [rbx]}
     */
    // Template#: 8701, Serial#: 8472
    public void psraw(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xE1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psraw     mm0, [rbx]}
     */
    // Template#: 8702, Serial#: 8481
    public void psraw_r8481(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xE1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psraw     mm0, [rbx]}
     */
    // Template#: 8703, Serial#: 8490
    public void psraw_r8490(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xE1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psraw     mm0, mm0}
     */
    // Template#: 8704, Serial#: 8480
    public void psraw(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xE1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psraw     mm0, mm0}
     */
    // Template#: 8705, Serial#: 8489
    public void psraw_r8489(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xE1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psraw     mm0, mm0}
     */
    // Template#: 8706, Serial#: 8498
    public void psraw_r8498(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xE1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psraw     mm0, [L1: +305419896]}
     */
    // Template#: 8707, Serial#: 8475
    public void rip_psraw(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xE1, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psraw     mm0, [L1: +305419896]}
     */
    // Template#: 8708, Serial#: 8484
    public void rip_psraw_r8484(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xE1, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psraw     mm0, [L1: +305419896]}
     */
    // Template#: 8709, Serial#: 8493
    public void rip_psraw_r8493(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xE1, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psraw     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8710, Serial#: 8479
    public void psraw(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xE1, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psraw     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8711, Serial#: 8488
    public void psraw_r8488(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xE1, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psraw     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8712, Serial#: 8497
    public void psraw_r8497(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xE1, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psraw     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8713, Serial#: 8474
    public void m_psraw(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xE1, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psraw     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8714, Serial#: 8483
    public void m_psraw_r8483(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xE1, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psraw     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8715, Serial#: 8492
    public void m_psraw_r8492(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xE1, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psraw     mm0, [rbx + 305419896]}
     */
    // Template#: 8716, Serial#: 8478
    public void psraw(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xE1, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psraw     mm0, [rbx + 305419896]}
     */
    // Template#: 8717, Serial#: 8487
    public void psraw_r8487(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xE1, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psraw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psraw     mm0, [rbx + 305419896]}
     */
    // Template#: 8718, Serial#: 8496
    public void psraw_r8496(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xE1, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psrld     xmm0, 0x12}
     */
    // Template#: 8719, Serial#: 7397
    public void psrld(AMD64XMMRegister destination, byte imm8) {
        assemble1103((byte) 0x72, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psrld     xmm0, 0x12}
     */
    // Template#: 8720, Serial#: 7400
    public void psrld_r7400(AMD64XMMRegister destination, byte imm8) {
        assemble1104((byte) 0x72, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psrld     xmm0, 0x12}
     */
    // Template#: 8721, Serial#: 7403
    public void psrld_r7403(AMD64XMMRegister destination, byte imm8) {
        assemble1105((byte) 0x72, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrld     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8722, Serial#: 8351
    public void psrld(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xD2, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrld     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8723, Serial#: 8360
    public void psrld_r8360(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xD2, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psrld     xmm0, [rbx + 18]}
     */
    // Template#: 8724, Serial#: 8350
    public void psrld(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xD2, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psrld     xmm0, [rbx + 18]}
     */
    // Template#: 8725, Serial#: 8359
    public void psrld_r8359(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xD2, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrld     xmm0, rbx[rsi * 4]}
     */
    // Template#: 8726, Serial#: 8347
    public void psrld(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xD2, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrld     xmm0, rbx[rsi * 4]}
     */
    // Template#: 8727, Serial#: 8356
    public void psrld_r8356(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xD2, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrld     xmm0, [rbx]}
     */
    // Template#: 8728, Serial#: 8346
    public void psrld(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xD2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrld     xmm0, [rbx]}
     */
    // Template#: 8729, Serial#: 8355
    public void psrld_r8355(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xD2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrld     xmm0, xmm0}
     */
    // Template#: 8730, Serial#: 8354
    public void psrld(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xD2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrld     xmm0, xmm0}
     */
    // Template#: 8731, Serial#: 8363
    public void psrld_r8363(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xD2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psrld     xmm0, [L1: +305419896]}
     */
    // Template#: 8732, Serial#: 8349
    public void rip_psrld(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xD2, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psrld     xmm0, [L1: +305419896]}
     */
    // Template#: 8733, Serial#: 8358
    public void rip_psrld_r8358(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xD2, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrld     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8734, Serial#: 8353
    public void psrld(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xD2, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrld     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8735, Serial#: 8362
    public void psrld_r8362(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xD2, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrld     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8736, Serial#: 8348
    public void m_psrld(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xD2, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrld     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8737, Serial#: 8357
    public void m_psrld_r8357(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xD2, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psrld     xmm0, [rbx + 305419896]}
     */
    // Template#: 8738, Serial#: 8352
    public void psrld(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xD2, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psrld     xmm0, [rbx + 305419896]}
     */
    // Template#: 8739, Serial#: 8361
    public void psrld_r8361(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xD2, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psrld     mm0, 0x12}
     */
    // Template#: 8740, Serial#: 7271
    public void psrld(MMXRegister destination, byte imm8) {
        assemble1106((byte) 0x72, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psrld     mm0, 0x12}
     */
    // Template#: 8741, Serial#: 7274
    public void psrld_r7274(MMXRegister destination, byte imm8) {
        assemble1107((byte) 0x72, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psrld     mm0, 0x12}
     */
    // Template#: 8742, Serial#: 7277
    public void psrld_r7277(MMXRegister destination, byte imm8) {
        assemble1108((byte) 0x72, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrld     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8743, Serial#: 8204
    public void psrld(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xD2, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrld     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8744, Serial#: 8213
    public void psrld_r8213(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xD2, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrld     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8745, Serial#: 8222
    public void psrld_r8222(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xD2, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psrld     mm0, [rbx + 18]}
     */
    // Template#: 8746, Serial#: 8203
    public void psrld(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xD2, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psrld     mm0, [rbx + 18]}
     */
    // Template#: 8747, Serial#: 8212
    public void psrld_r8212(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xD2, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psrld     mm0, [rbx + 18]}
     */
    // Template#: 8748, Serial#: 8221
    public void psrld_r8221(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xD2, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrld     mm0, rbx[rsi * 4]}
     */
    // Template#: 8749, Serial#: 8200
    public void psrld(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xD2, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrld     mm0, rbx[rsi * 4]}
     */
    // Template#: 8750, Serial#: 8209
    public void psrld_r8209(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xD2, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrld     mm0, rbx[rsi * 4]}
     */
    // Template#: 8751, Serial#: 8218
    public void psrld_r8218(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xD2, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrld     mm0, [rbx]}
     */
    // Template#: 8752, Serial#: 8199
    public void psrld(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xD2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrld     mm0, [rbx]}
     */
    // Template#: 8753, Serial#: 8208
    public void psrld_r8208(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xD2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrld     mm0, [rbx]}
     */
    // Template#: 8754, Serial#: 8217
    public void psrld_r8217(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xD2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrld     mm0, mm0}
     */
    // Template#: 8755, Serial#: 8207
    public void psrld(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xD2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrld     mm0, mm0}
     */
    // Template#: 8756, Serial#: 8216
    public void psrld_r8216(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xD2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrld     mm0, mm0}
     */
    // Template#: 8757, Serial#: 8225
    public void psrld_r8225(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xD2, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psrld     mm0, [L1: +305419896]}
     */
    // Template#: 8758, Serial#: 8202
    public void rip_psrld(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xD2, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psrld     mm0, [L1: +305419896]}
     */
    // Template#: 8759, Serial#: 8211
    public void rip_psrld_r8211(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xD2, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psrld     mm0, [L1: +305419896]}
     */
    // Template#: 8760, Serial#: 8220
    public void rip_psrld_r8220(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xD2, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrld     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8761, Serial#: 8206
    public void psrld(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xD2, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrld     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8762, Serial#: 8215
    public void psrld_r8215(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xD2, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrld     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8763, Serial#: 8224
    public void psrld_r8224(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xD2, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrld     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8764, Serial#: 8201
    public void m_psrld(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xD2, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrld     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8765, Serial#: 8210
    public void m_psrld_r8210(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xD2, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrld     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8766, Serial#: 8219
    public void m_psrld_r8219(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xD2, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psrld     mm0, [rbx + 305419896]}
     */
    // Template#: 8767, Serial#: 8205
    public void psrld(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xD2, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psrld     mm0, [rbx + 305419896]}
     */
    // Template#: 8768, Serial#: 8214
    public void psrld_r8214(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xD2, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrld  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psrld     mm0, [rbx + 305419896]}
     */
    // Template#: 8769, Serial#: 8223
    public void psrld_r8223(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xD2, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrldq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psrldq    xmm0, 0x12}
     */
    // Template#: 8770, Serial#: 7407
    public void psrldq(AMD64XMMRegister destination, byte imm8) {
        assemble1103((byte) 0x73, (byte) 0x03, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrldq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psrldq    xmm0, 0x12}
     */
    // Template#: 8771, Serial#: 7411
    public void psrldq_r7411(AMD64XMMRegister destination, byte imm8) {
        assemble1104((byte) 0x73, (byte) 0x03, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrldq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psrldq    xmm0, 0x12}
     */
    // Template#: 8772, Serial#: 7415
    public void psrldq_r7415(AMD64XMMRegister destination, byte imm8) {
        assemble1105((byte) 0x73, (byte) 0x03, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psrlq     xmm0, 0x12}
     */
    // Template#: 8773, Serial#: 7406
    public void psrlq(AMD64XMMRegister destination, byte imm8) {
        assemble1103((byte) 0x73, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psrlq     xmm0, 0x12}
     */
    // Template#: 8774, Serial#: 7410
    public void psrlq_r7410(AMD64XMMRegister destination, byte imm8) {
        assemble1104((byte) 0x73, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psrlq     xmm0, 0x12}
     */
    // Template#: 8775, Serial#: 7414
    public void psrlq_r7414(AMD64XMMRegister destination, byte imm8) {
        assemble1105((byte) 0x73, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlq     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8776, Serial#: 8369
    public void psrlq(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xD3, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlq     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8777, Serial#: 8378
    public void psrlq_r8378(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xD3, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlq     xmm0, [rbx + 18]}
     */
    // Template#: 8778, Serial#: 8368
    public void psrlq(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xD3, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlq     xmm0, [rbx + 18]}
     */
    // Template#: 8779, Serial#: 8377
    public void psrlq_r8377(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xD3, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlq     xmm0, rbx[rsi * 4]}
     */
    // Template#: 8780, Serial#: 8365
    public void psrlq(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xD3, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlq     xmm0, rbx[rsi * 4]}
     */
    // Template#: 8781, Serial#: 8374
    public void psrlq_r8374(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xD3, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlq     xmm0, [rbx]}
     */
    // Template#: 8782, Serial#: 8364
    public void psrlq(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xD3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlq     xmm0, [rbx]}
     */
    // Template#: 8783, Serial#: 8373
    public void psrlq_r8373(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xD3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlq     xmm0, xmm0}
     */
    // Template#: 8784, Serial#: 8372
    public void psrlq(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xD3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlq     xmm0, xmm0}
     */
    // Template#: 8785, Serial#: 8381
    public void psrlq_r8381(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xD3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psrlq     xmm0, [L1: +305419896]}
     */
    // Template#: 8786, Serial#: 8367
    public void rip_psrlq(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xD3, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psrlq     xmm0, [L1: +305419896]}
     */
    // Template#: 8787, Serial#: 8376
    public void rip_psrlq_r8376(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xD3, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlq     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8788, Serial#: 8371
    public void psrlq(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xD3, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlq     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8789, Serial#: 8380
    public void psrlq_r8380(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xD3, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlq     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8790, Serial#: 8366
    public void m_psrlq(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xD3, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlq     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8791, Serial#: 8375
    public void m_psrlq_r8375(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xD3, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlq     xmm0, [rbx + 305419896]}
     */
    // Template#: 8792, Serial#: 8370
    public void psrlq(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xD3, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlq     xmm0, [rbx + 305419896]}
     */
    // Template#: 8793, Serial#: 8379
    public void psrlq_r8379(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xD3, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psrlq     mm0, 0x12}
     */
    // Template#: 8794, Serial#: 7280
    public void psrlq(MMXRegister destination, byte imm8) {
        assemble1106((byte) 0x73, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psrlq     mm0, 0x12}
     */
    // Template#: 8795, Serial#: 7282
    public void psrlq_r7282(MMXRegister destination, byte imm8) {
        assemble1107((byte) 0x73, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psrlq     mm0, 0x12}
     */
    // Template#: 8796, Serial#: 7284
    public void psrlq_r7284(MMXRegister destination, byte imm8) {
        assemble1108((byte) 0x73, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlq     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8797, Serial#: 8231
    public void psrlq(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xD3, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlq     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8798, Serial#: 8240
    public void psrlq_r8240(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xD3, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlq     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8799, Serial#: 8249
    public void psrlq_r8249(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xD3, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlq     mm0, [rbx + 18]}
     */
    // Template#: 8800, Serial#: 8230
    public void psrlq(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xD3, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlq     mm0, [rbx + 18]}
     */
    // Template#: 8801, Serial#: 8239
    public void psrlq_r8239(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xD3, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlq     mm0, [rbx + 18]}
     */
    // Template#: 8802, Serial#: 8248
    public void psrlq_r8248(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xD3, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlq     mm0, rbx[rsi * 4]}
     */
    // Template#: 8803, Serial#: 8227
    public void psrlq(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xD3, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlq     mm0, rbx[rsi * 4]}
     */
    // Template#: 8804, Serial#: 8236
    public void psrlq_r8236(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xD3, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlq     mm0, rbx[rsi * 4]}
     */
    // Template#: 8805, Serial#: 8245
    public void psrlq_r8245(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xD3, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlq     mm0, [rbx]}
     */
    // Template#: 8806, Serial#: 8226
    public void psrlq(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xD3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlq     mm0, [rbx]}
     */
    // Template#: 8807, Serial#: 8235
    public void psrlq_r8235(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xD3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlq     mm0, [rbx]}
     */
    // Template#: 8808, Serial#: 8244
    public void psrlq_r8244(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xD3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlq     mm0, mm0}
     */
    // Template#: 8809, Serial#: 8234
    public void psrlq(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xD3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlq     mm0, mm0}
     */
    // Template#: 8810, Serial#: 8243
    public void psrlq_r8243(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xD3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlq     mm0, mm0}
     */
    // Template#: 8811, Serial#: 8252
    public void psrlq_r8252(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xD3, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psrlq     mm0, [L1: +305419896]}
     */
    // Template#: 8812, Serial#: 8229
    public void rip_psrlq(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xD3, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psrlq     mm0, [L1: +305419896]}
     */
    // Template#: 8813, Serial#: 8238
    public void rip_psrlq_r8238(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xD3, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psrlq     mm0, [L1: +305419896]}
     */
    // Template#: 8814, Serial#: 8247
    public void rip_psrlq_r8247(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xD3, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlq     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8815, Serial#: 8233
    public void psrlq(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xD3, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlq     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8816, Serial#: 8242
    public void psrlq_r8242(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xD3, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlq     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8817, Serial#: 8251
    public void psrlq_r8251(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xD3, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlq     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8818, Serial#: 8228
    public void m_psrlq(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xD3, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlq     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8819, Serial#: 8237
    public void m_psrlq_r8237(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xD3, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlq     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8820, Serial#: 8246
    public void m_psrlq_r8246(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xD3, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlq     mm0, [rbx + 305419896]}
     */
    // Template#: 8821, Serial#: 8232
    public void psrlq(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xD3, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlq     mm0, [rbx + 305419896]}
     */
    // Template#: 8822, Serial#: 8241
    public void psrlq_r8241(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xD3, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlq     mm0, [rbx + 305419896]}
     */
    // Template#: 8823, Serial#: 8250
    public void psrlq_r8250(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xD3, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psrlw     xmm0, 0x12}
     */
    // Template#: 8824, Serial#: 7388
    public void psrlw(AMD64XMMRegister destination, byte imm8) {
        assemble1103((byte) 0x71, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psrlw     xmm0, 0x12}
     */
    // Template#: 8825, Serial#: 7391
    public void psrlw_r7391(AMD64XMMRegister destination, byte imm8) {
        assemble1104((byte) 0x71, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psrlw     xmm0, 0x12}
     */
    // Template#: 8826, Serial#: 7394
    public void psrlw_r7394(AMD64XMMRegister destination, byte imm8) {
        assemble1105((byte) 0x71, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlw     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8827, Serial#: 8333
    public void psrlw(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xD1, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlw     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8828, Serial#: 8342
    public void psrlw_r8342(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xD1, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlw     xmm0, [rbx + 18]}
     */
    // Template#: 8829, Serial#: 8332
    public void psrlw(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xD1, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlw     xmm0, [rbx + 18]}
     */
    // Template#: 8830, Serial#: 8341
    public void psrlw_r8341(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xD1, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlw     xmm0, rbx[rsi * 4]}
     */
    // Template#: 8831, Serial#: 8329
    public void psrlw(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xD1, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlw     xmm0, rbx[rsi * 4]}
     */
    // Template#: 8832, Serial#: 8338
    public void psrlw_r8338(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xD1, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlw     xmm0, [rbx]}
     */
    // Template#: 8833, Serial#: 8328
    public void psrlw(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xD1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlw     xmm0, [rbx]}
     */
    // Template#: 8834, Serial#: 8337
    public void psrlw_r8337(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xD1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlw     xmm0, xmm0}
     */
    // Template#: 8835, Serial#: 8336
    public void psrlw(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xD1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlw     xmm0, xmm0}
     */
    // Template#: 8836, Serial#: 8345
    public void psrlw_r8345(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xD1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psrlw     xmm0, [L1: +305419896]}
     */
    // Template#: 8837, Serial#: 8331
    public void rip_psrlw(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xD1, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psrlw     xmm0, [L1: +305419896]}
     */
    // Template#: 8838, Serial#: 8340
    public void rip_psrlw_r8340(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xD1, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlw     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8839, Serial#: 8335
    public void psrlw(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xD1, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlw     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8840, Serial#: 8344
    public void psrlw_r8344(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xD1, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlw     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8841, Serial#: 8330
    public void m_psrlw(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xD1, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlw     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8842, Serial#: 8339
    public void m_psrlw_r8339(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xD1, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlw     xmm0, [rbx + 305419896]}
     */
    // Template#: 8843, Serial#: 8334
    public void psrlw(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xD1, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlw     xmm0, [rbx + 305419896]}
     */
    // Template#: 8844, Serial#: 8343
    public void psrlw_r8343(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xD1, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psrlw     mm0, 0x12}
     */
    // Template#: 8845, Serial#: 7262
    public void psrlw(MMXRegister destination, byte imm8) {
        assemble1106((byte) 0x71, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psrlw     mm0, 0x12}
     */
    // Template#: 8846, Serial#: 7265
    public void psrlw_r7265(MMXRegister destination, byte imm8) {
        assemble1107((byte) 0x71, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code psrlw     mm0, 0x12}
     */
    // Template#: 8847, Serial#: 7268
    public void psrlw_r7268(MMXRegister destination, byte imm8) {
        assemble1108((byte) 0x71, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlw     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8848, Serial#: 8177
    public void psrlw(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xD1, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlw     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8849, Serial#: 8186
    public void psrlw_r8186(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xD1, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlw     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8850, Serial#: 8195
    public void psrlw_r8195(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xD1, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlw     mm0, [rbx + 18]}
     */
    // Template#: 8851, Serial#: 8176
    public void psrlw(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xD1, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlw     mm0, [rbx + 18]}
     */
    // Template#: 8852, Serial#: 8185
    public void psrlw_r8185(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xD1, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlw     mm0, [rbx + 18]}
     */
    // Template#: 8853, Serial#: 8194
    public void psrlw_r8194(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xD1, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlw     mm0, rbx[rsi * 4]}
     */
    // Template#: 8854, Serial#: 8173
    public void psrlw(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xD1, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlw     mm0, rbx[rsi * 4]}
     */
    // Template#: 8855, Serial#: 8182
    public void psrlw_r8182(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xD1, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlw     mm0, rbx[rsi * 4]}
     */
    // Template#: 8856, Serial#: 8191
    public void psrlw_r8191(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xD1, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlw     mm0, [rbx]}
     */
    // Template#: 8857, Serial#: 8172
    public void psrlw(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xD1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlw     mm0, [rbx]}
     */
    // Template#: 8858, Serial#: 8181
    public void psrlw_r8181(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xD1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlw     mm0, [rbx]}
     */
    // Template#: 8859, Serial#: 8190
    public void psrlw_r8190(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xD1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlw     mm0, mm0}
     */
    // Template#: 8860, Serial#: 8180
    public void psrlw(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xD1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlw     mm0, mm0}
     */
    // Template#: 8861, Serial#: 8189
    public void psrlw_r8189(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xD1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlw     mm0, mm0}
     */
    // Template#: 8862, Serial#: 8198
    public void psrlw_r8198(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xD1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psrlw     mm0, [L1: +305419896]}
     */
    // Template#: 8863, Serial#: 8175
    public void rip_psrlw(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xD1, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psrlw     mm0, [L1: +305419896]}
     */
    // Template#: 8864, Serial#: 8184
    public void rip_psrlw_r8184(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xD1, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psrlw     mm0, [L1: +305419896]}
     */
    // Template#: 8865, Serial#: 8193
    public void rip_psrlw_r8193(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xD1, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlw     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8866, Serial#: 8179
    public void psrlw(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xD1, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlw     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8867, Serial#: 8188
    public void psrlw_r8188(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xD1, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlw     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8868, Serial#: 8197
    public void psrlw_r8197(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xD1, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlw     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8869, Serial#: 8174
    public void m_psrlw(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xD1, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlw     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8870, Serial#: 8183
    public void m_psrlw_r8183(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xD1, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psrlw     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8871, Serial#: 8192
    public void m_psrlw_r8192(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xD1, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlw     mm0, [rbx + 305419896]}
     */
    // Template#: 8872, Serial#: 8178
    public void psrlw(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xD1, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlw     mm0, [rbx + 305419896]}
     */
    // Template#: 8873, Serial#: 8187
    public void psrlw_r8187(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xD1, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psrlw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psrlw     mm0, [rbx + 305419896]}
     */
    // Template#: 8874, Serial#: 8196
    public void psrlw_r8196(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xD1, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubb     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8875, Serial#: 12640
    public void psubb(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xF8, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubb     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8876, Serial#: 12649
    public void psubb_r12649(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xF8, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubb     xmm0, [rbx + 18]}
     */
    // Template#: 8877, Serial#: 12639
    public void psubb(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xF8, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubb     xmm0, [rbx + 18]}
     */
    // Template#: 8878, Serial#: 12648
    public void psubb_r12648(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xF8, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubb     xmm0, rbx[rsi * 4]}
     */
    // Template#: 8879, Serial#: 12636
    public void psubb(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xF8, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubb     xmm0, rbx[rsi * 4]}
     */
    // Template#: 8880, Serial#: 12645
    public void psubb_r12645(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xF8, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubb     xmm0, [rbx]}
     */
    // Template#: 8881, Serial#: 12635
    public void psubb(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xF8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubb     xmm0, [rbx]}
     */
    // Template#: 8882, Serial#: 12644
    public void psubb_r12644(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xF8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubb     xmm0, xmm0}
     */
    // Template#: 8883, Serial#: 12643
    public void psubb(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xF8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubb     xmm0, xmm0}
     */
    // Template#: 8884, Serial#: 12652
    public void psubb_r12652(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xF8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubb     xmm0, [L1: +305419896]}
     */
    // Template#: 8885, Serial#: 12638
    public void rip_psubb(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xF8, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubb     xmm0, [L1: +305419896]}
     */
    // Template#: 8886, Serial#: 12647
    public void rip_psubb_r12647(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xF8, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubb     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8887, Serial#: 12642
    public void psubb(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xF8, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubb     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8888, Serial#: 12651
    public void psubb_r12651(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xF8, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubb     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8889, Serial#: 12637
    public void m_psubb(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xF8, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubb     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8890, Serial#: 12646
    public void m_psubb_r12646(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xF8, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubb     xmm0, [rbx + 305419896]}
     */
    // Template#: 8891, Serial#: 12641
    public void psubb(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xF8, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubb     xmm0, [rbx + 305419896]}
     */
    // Template#: 8892, Serial#: 12650
    public void psubb_r12650(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xF8, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubb     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8893, Serial#: 12451
    public void psubb(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xF8, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubb     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8894, Serial#: 12460
    public void psubb_r12460(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xF8, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubb     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8895, Serial#: 12469
    public void psubb_r12469(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xF8, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubb     mm0, [rbx + 18]}
     */
    // Template#: 8896, Serial#: 12450
    public void psubb(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xF8, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubb     mm0, [rbx + 18]}
     */
    // Template#: 8897, Serial#: 12459
    public void psubb_r12459(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xF8, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubb     mm0, [rbx + 18]}
     */
    // Template#: 8898, Serial#: 12468
    public void psubb_r12468(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xF8, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubb     mm0, rbx[rsi * 4]}
     */
    // Template#: 8899, Serial#: 12447
    public void psubb(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xF8, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubb     mm0, rbx[rsi * 4]}
     */
    // Template#: 8900, Serial#: 12456
    public void psubb_r12456(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xF8, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubb     mm0, rbx[rsi * 4]}
     */
    // Template#: 8901, Serial#: 12465
    public void psubb_r12465(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xF8, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubb     mm0, [rbx]}
     */
    // Template#: 8902, Serial#: 12446
    public void psubb(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xF8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubb     mm0, [rbx]}
     */
    // Template#: 8903, Serial#: 12455
    public void psubb_r12455(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xF8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubb     mm0, [rbx]}
     */
    // Template#: 8904, Serial#: 12464
    public void psubb_r12464(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xF8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubb     mm0, mm0}
     */
    // Template#: 8905, Serial#: 12454
    public void psubb(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xF8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubb     mm0, mm0}
     */
    // Template#: 8906, Serial#: 12463
    public void psubb_r12463(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xF8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubb     mm0, mm0}
     */
    // Template#: 8907, Serial#: 12472
    public void psubb_r12472(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xF8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubb     mm0, [L1: +305419896]}
     */
    // Template#: 8908, Serial#: 12449
    public void rip_psubb(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xF8, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubb     mm0, [L1: +305419896]}
     */
    // Template#: 8909, Serial#: 12458
    public void rip_psubb_r12458(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xF8, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubb     mm0, [L1: +305419896]}
     */
    // Template#: 8910, Serial#: 12467
    public void rip_psubb_r12467(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xF8, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubb     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8911, Serial#: 12453
    public void psubb(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xF8, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubb     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8912, Serial#: 12462
    public void psubb_r12462(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xF8, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubb     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8913, Serial#: 12471
    public void psubb_r12471(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xF8, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubb     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8914, Serial#: 12448
    public void m_psubb(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xF8, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubb     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8915, Serial#: 12457
    public void m_psubb_r12457(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xF8, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubb     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8916, Serial#: 12466
    public void m_psubb_r12466(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xF8, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubb     mm0, [rbx + 305419896]}
     */
    // Template#: 8917, Serial#: 12452
    public void psubb(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xF8, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubb     mm0, [rbx + 305419896]}
     */
    // Template#: 8918, Serial#: 12461
    public void psubb_r12461(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xF8, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubb     mm0, [rbx + 305419896]}
     */
    // Template#: 8919, Serial#: 12470
    public void psubb_r12470(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xF8, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8920, Serial#: 12676
    public void psubd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xFA, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8921, Serial#: 12685
    public void psubd_r12685(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xFA, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubd     xmm0, [rbx + 18]}
     */
    // Template#: 8922, Serial#: 12675
    public void psubd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xFA, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubd     xmm0, [rbx + 18]}
     */
    // Template#: 8923, Serial#: 12684
    public void psubd_r12684(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xFA, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 8924, Serial#: 12672
    public void psubd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xFA, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 8925, Serial#: 12681
    public void psubd_r12681(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xFA, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubd     xmm0, [rbx]}
     */
    // Template#: 8926, Serial#: 12671
    public void psubd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xFA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubd     xmm0, [rbx]}
     */
    // Template#: 8927, Serial#: 12680
    public void psubd_r12680(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xFA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubd     xmm0, xmm0}
     */
    // Template#: 8928, Serial#: 12679
    public void psubd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xFA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubd     xmm0, xmm0}
     */
    // Template#: 8929, Serial#: 12688
    public void psubd_r12688(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xFA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubd     xmm0, [L1: +305419896]}
     */
    // Template#: 8930, Serial#: 12674
    public void rip_psubd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xFA, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubd     xmm0, [L1: +305419896]}
     */
    // Template#: 8931, Serial#: 12683
    public void rip_psubd_r12683(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xFA, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8932, Serial#: 12678
    public void psubd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xFA, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8933, Serial#: 12687
    public void psubd_r12687(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xFA, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8934, Serial#: 12673
    public void m_psubd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xFA, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8935, Serial#: 12682
    public void m_psubd_r12682(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xFA, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubd     xmm0, [rbx + 305419896]}
     */
    // Template#: 8936, Serial#: 12677
    public void psubd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xFA, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubd     xmm0, [rbx + 305419896]}
     */
    // Template#: 8937, Serial#: 12686
    public void psubd_r12686(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xFA, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubd     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8938, Serial#: 12505
    public void psubd(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xFA, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubd     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8939, Serial#: 12514
    public void psubd_r12514(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xFA, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubd     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8940, Serial#: 12523
    public void psubd_r12523(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xFA, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubd     mm0, [rbx + 18]}
     */
    // Template#: 8941, Serial#: 12504
    public void psubd(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xFA, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubd     mm0, [rbx + 18]}
     */
    // Template#: 8942, Serial#: 12513
    public void psubd_r12513(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xFA, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubd     mm0, [rbx + 18]}
     */
    // Template#: 8943, Serial#: 12522
    public void psubd_r12522(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xFA, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubd     mm0, rbx[rsi * 4]}
     */
    // Template#: 8944, Serial#: 12501
    public void psubd(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xFA, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubd     mm0, rbx[rsi * 4]}
     */
    // Template#: 8945, Serial#: 12510
    public void psubd_r12510(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xFA, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubd     mm0, rbx[rsi * 4]}
     */
    // Template#: 8946, Serial#: 12519
    public void psubd_r12519(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xFA, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubd     mm0, [rbx]}
     */
    // Template#: 8947, Serial#: 12500
    public void psubd(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xFA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubd     mm0, [rbx]}
     */
    // Template#: 8948, Serial#: 12509
    public void psubd_r12509(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xFA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubd     mm0, [rbx]}
     */
    // Template#: 8949, Serial#: 12518
    public void psubd_r12518(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xFA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubd     mm0, mm0}
     */
    // Template#: 8950, Serial#: 12508
    public void psubd(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xFA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubd     mm0, mm0}
     */
    // Template#: 8951, Serial#: 12517
    public void psubd_r12517(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xFA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubd     mm0, mm0}
     */
    // Template#: 8952, Serial#: 12526
    public void psubd_r12526(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xFA, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubd     mm0, [L1: +305419896]}
     */
    // Template#: 8953, Serial#: 12503
    public void rip_psubd(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xFA, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubd     mm0, [L1: +305419896]}
     */
    // Template#: 8954, Serial#: 12512
    public void rip_psubd_r12512(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xFA, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubd     mm0, [L1: +305419896]}
     */
    // Template#: 8955, Serial#: 12521
    public void rip_psubd_r12521(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xFA, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubd     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8956, Serial#: 12507
    public void psubd(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xFA, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubd     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8957, Serial#: 12516
    public void psubd_r12516(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xFA, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubd     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8958, Serial#: 12525
    public void psubd_r12525(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xFA, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubd     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8959, Serial#: 12502
    public void m_psubd(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xFA, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubd     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8960, Serial#: 12511
    public void m_psubd_r12511(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xFA, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubd     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8961, Serial#: 12520
    public void m_psubd_r12520(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xFA, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubd     mm0, [rbx + 305419896]}
     */
    // Template#: 8962, Serial#: 12506
    public void psubd(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xFA, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubd     mm0, [rbx + 305419896]}
     */
    // Template#: 8963, Serial#: 12515
    public void psubd_r12515(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xFA, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubd     mm0, [rbx + 305419896]}
     */
    // Template#: 8964, Serial#: 12524
    public void psubd_r12524(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xFA, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubq     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8965, Serial#: 12694
    public void psubq(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xFB, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubq     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8966, Serial#: 12703
    public void psubq_r12703(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xFB, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubq     xmm0, [rbx + 18]}
     */
    // Template#: 8967, Serial#: 12693
    public void psubq(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xFB, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubq     xmm0, [rbx + 18]}
     */
    // Template#: 8968, Serial#: 12702
    public void psubq_r12702(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xFB, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubq     xmm0, rbx[rsi * 4]}
     */
    // Template#: 8969, Serial#: 12690
    public void psubq(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xFB, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubq     xmm0, rbx[rsi * 4]}
     */
    // Template#: 8970, Serial#: 12699
    public void psubq_r12699(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xFB, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubq     xmm0, [rbx]}
     */
    // Template#: 8971, Serial#: 12689
    public void psubq(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xFB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubq     xmm0, [rbx]}
     */
    // Template#: 8972, Serial#: 12698
    public void psubq_r12698(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xFB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubq     xmm0, xmm0}
     */
    // Template#: 8973, Serial#: 12697
    public void psubq(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xFB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubq     xmm0, xmm0}
     */
    // Template#: 8974, Serial#: 12706
    public void psubq_r12706(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xFB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubq     xmm0, [L1: +305419896]}
     */
    // Template#: 8975, Serial#: 12692
    public void rip_psubq(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xFB, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubq     xmm0, [L1: +305419896]}
     */
    // Template#: 8976, Serial#: 12701
    public void rip_psubq_r12701(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xFB, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubq     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8977, Serial#: 12696
    public void psubq(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xFB, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubq     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 8978, Serial#: 12705
    public void psubq_r12705(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xFB, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubq     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8979, Serial#: 12691
    public void m_psubq(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xFB, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubq     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 8980, Serial#: 12700
    public void m_psubq_r12700(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xFB, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubq     xmm0, [rbx + 305419896]}
     */
    // Template#: 8981, Serial#: 12695
    public void psubq(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xFB, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubq     xmm0, [rbx + 305419896]}
     */
    // Template#: 8982, Serial#: 12704
    public void psubq_r12704(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xFB, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubq     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8983, Serial#: 12532
    public void psubq(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xFB, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubq     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8984, Serial#: 12541
    public void psubq_r12541(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xFB, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubq     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 8985, Serial#: 12550
    public void psubq_r12550(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xFB, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubq     mm0, [rbx + 18]}
     */
    // Template#: 8986, Serial#: 12531
    public void psubq(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xFB, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubq     mm0, [rbx + 18]}
     */
    // Template#: 8987, Serial#: 12540
    public void psubq_r12540(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xFB, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubq     mm0, [rbx + 18]}
     */
    // Template#: 8988, Serial#: 12549
    public void psubq_r12549(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xFB, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubq     mm0, rbx[rsi * 4]}
     */
    // Template#: 8989, Serial#: 12528
    public void psubq(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xFB, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubq     mm0, rbx[rsi * 4]}
     */
    // Template#: 8990, Serial#: 12537
    public void psubq_r12537(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xFB, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubq     mm0, rbx[rsi * 4]}
     */
    // Template#: 8991, Serial#: 12546
    public void psubq_r12546(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xFB, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubq     mm0, [rbx]}
     */
    // Template#: 8992, Serial#: 12527
    public void psubq(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xFB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubq     mm0, [rbx]}
     */
    // Template#: 8993, Serial#: 12536
    public void psubq_r12536(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xFB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubq     mm0, [rbx]}
     */
    // Template#: 8994, Serial#: 12545
    public void psubq_r12545(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xFB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubq     mm0, mm0}
     */
    // Template#: 8995, Serial#: 12535
    public void psubq(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xFB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubq     mm0, mm0}
     */
    // Template#: 8996, Serial#: 12544
    public void psubq_r12544(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xFB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubq     mm0, mm0}
     */
    // Template#: 8997, Serial#: 12553
    public void psubq_r12553(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xFB, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubq     mm0, [L1: +305419896]}
     */
    // Template#: 8998, Serial#: 12530
    public void rip_psubq(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xFB, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubq     mm0, [L1: +305419896]}
     */
    // Template#: 8999, Serial#: 12539
    public void rip_psubq_r12539(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xFB, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubq     mm0, [L1: +305419896]}
     */
    // Template#: 9000, Serial#: 12548
    public void rip_psubq_r12548(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xFB, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubq     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9001, Serial#: 12534
    public void psubq(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xFB, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubq     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9002, Serial#: 12543
    public void psubq_r12543(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xFB, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubq     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9003, Serial#: 12552
    public void psubq_r12552(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xFB, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubq     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9004, Serial#: 12529
    public void m_psubq(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xFB, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubq     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9005, Serial#: 12538
    public void m_psubq_r12538(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xFB, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubq     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9006, Serial#: 12547
    public void m_psubq_r12547(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xFB, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubq     mm0, [rbx + 305419896]}
     */
    // Template#: 9007, Serial#: 12533
    public void psubq(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xFB, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubq     mm0, [rbx + 305419896]}
     */
    // Template#: 9008, Serial#: 12542
    public void psubq_r12542(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xFB, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubq     mm0, [rbx + 305419896]}
     */
    // Template#: 9009, Serial#: 12551
    public void psubq_r12551(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xFB, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsb    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9010, Serial#: 12307
    public void psubsb(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xE8, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsb    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9011, Serial#: 12316
    public void psubsb_r12316(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xE8, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsb    xmm0, [rbx + 18]}
     */
    // Template#: 9012, Serial#: 12306
    public void psubsb(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xE8, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsb    xmm0, [rbx + 18]}
     */
    // Template#: 9013, Serial#: 12315
    public void psubsb_r12315(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xE8, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsb    xmm0, rbx[rsi * 4]}
     */
    // Template#: 9014, Serial#: 12303
    public void psubsb(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xE8, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsb    xmm0, rbx[rsi * 4]}
     */
    // Template#: 9015, Serial#: 12312
    public void psubsb_r12312(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xE8, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsb    xmm0, [rbx]}
     */
    // Template#: 9016, Serial#: 12302
    public void psubsb(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xE8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsb    xmm0, [rbx]}
     */
    // Template#: 9017, Serial#: 12311
    public void psubsb_r12311(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xE8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsb    xmm0, xmm0}
     */
    // Template#: 9018, Serial#: 12310
    public void psubsb(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xE8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsb    xmm0, xmm0}
     */
    // Template#: 9019, Serial#: 12319
    public void psubsb_r12319(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xE8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubsb    xmm0, [L1: +305419896]}
     */
    // Template#: 9020, Serial#: 12305
    public void rip_psubsb(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xE8, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubsb    xmm0, [L1: +305419896]}
     */
    // Template#: 9021, Serial#: 12314
    public void rip_psubsb_r12314(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xE8, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsb    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9022, Serial#: 12309
    public void psubsb(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xE8, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsb    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9023, Serial#: 12318
    public void psubsb_r12318(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xE8, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsb    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9024, Serial#: 12304
    public void m_psubsb(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xE8, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsb    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9025, Serial#: 12313
    public void m_psubsb_r12313(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xE8, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsb    xmm0, [rbx + 305419896]}
     */
    // Template#: 9026, Serial#: 12308
    public void psubsb(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xE8, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsb    xmm0, [rbx + 305419896]}
     */
    // Template#: 9027, Serial#: 12317
    public void psubsb_r12317(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xE8, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsb    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9028, Serial#: 12091
    public void psubsb(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xE8, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsb    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9029, Serial#: 12100
    public void psubsb_r12100(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xE8, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsb    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9030, Serial#: 12109
    public void psubsb_r12109(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xE8, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsb    mm0, [rbx + 18]}
     */
    // Template#: 9031, Serial#: 12090
    public void psubsb(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xE8, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsb    mm0, [rbx + 18]}
     */
    // Template#: 9032, Serial#: 12099
    public void psubsb_r12099(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xE8, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsb    mm0, [rbx + 18]}
     */
    // Template#: 9033, Serial#: 12108
    public void psubsb_r12108(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xE8, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsb    mm0, rbx[rsi * 4]}
     */
    // Template#: 9034, Serial#: 12087
    public void psubsb(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xE8, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsb    mm0, rbx[rsi * 4]}
     */
    // Template#: 9035, Serial#: 12096
    public void psubsb_r12096(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xE8, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsb    mm0, rbx[rsi * 4]}
     */
    // Template#: 9036, Serial#: 12105
    public void psubsb_r12105(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xE8, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsb    mm0, [rbx]}
     */
    // Template#: 9037, Serial#: 12086
    public void psubsb(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xE8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsb    mm0, [rbx]}
     */
    // Template#: 9038, Serial#: 12095
    public void psubsb_r12095(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xE8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsb    mm0, [rbx]}
     */
    // Template#: 9039, Serial#: 12104
    public void psubsb_r12104(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xE8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsb    mm0, mm0}
     */
    // Template#: 9040, Serial#: 12094
    public void psubsb(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xE8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsb    mm0, mm0}
     */
    // Template#: 9041, Serial#: 12103
    public void psubsb_r12103(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xE8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsb    mm0, mm0}
     */
    // Template#: 9042, Serial#: 12112
    public void psubsb_r12112(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xE8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubsb    mm0, [L1: +305419896]}
     */
    // Template#: 9043, Serial#: 12089
    public void rip_psubsb(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xE8, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubsb    mm0, [L1: +305419896]}
     */
    // Template#: 9044, Serial#: 12098
    public void rip_psubsb_r12098(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xE8, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubsb    mm0, [L1: +305419896]}
     */
    // Template#: 9045, Serial#: 12107
    public void rip_psubsb_r12107(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xE8, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsb    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9046, Serial#: 12093
    public void psubsb(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xE8, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsb    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9047, Serial#: 12102
    public void psubsb_r12102(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xE8, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsb    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9048, Serial#: 12111
    public void psubsb_r12111(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xE8, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsb    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9049, Serial#: 12088
    public void m_psubsb(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xE8, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsb    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9050, Serial#: 12097
    public void m_psubsb_r12097(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xE8, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsb    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9051, Serial#: 12106
    public void m_psubsb_r12106(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xE8, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsb    mm0, [rbx + 305419896]}
     */
    // Template#: 9052, Serial#: 12092
    public void psubsb(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xE8, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsb    mm0, [rbx + 305419896]}
     */
    // Template#: 9053, Serial#: 12101
    public void psubsb_r12101(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xE8, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsb    mm0, [rbx + 305419896]}
     */
    // Template#: 9054, Serial#: 12110
    public void psubsb_r12110(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xE8, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsw    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9055, Serial#: 12325
    public void psubsw(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xE9, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsw    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9056, Serial#: 12334
    public void psubsw_r12334(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xE9, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsw    xmm0, [rbx + 18]}
     */
    // Template#: 9057, Serial#: 12324
    public void psubsw(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xE9, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsw    xmm0, [rbx + 18]}
     */
    // Template#: 9058, Serial#: 12333
    public void psubsw_r12333(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xE9, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsw    xmm0, rbx[rsi * 4]}
     */
    // Template#: 9059, Serial#: 12321
    public void psubsw(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xE9, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsw    xmm0, rbx[rsi * 4]}
     */
    // Template#: 9060, Serial#: 12330
    public void psubsw_r12330(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xE9, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsw    xmm0, [rbx]}
     */
    // Template#: 9061, Serial#: 12320
    public void psubsw(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xE9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsw    xmm0, [rbx]}
     */
    // Template#: 9062, Serial#: 12329
    public void psubsw_r12329(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xE9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsw    xmm0, xmm0}
     */
    // Template#: 9063, Serial#: 12328
    public void psubsw(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xE9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsw    xmm0, xmm0}
     */
    // Template#: 9064, Serial#: 12337
    public void psubsw_r12337(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xE9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubsw    xmm0, [L1: +305419896]}
     */
    // Template#: 9065, Serial#: 12323
    public void rip_psubsw(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xE9, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubsw    xmm0, [L1: +305419896]}
     */
    // Template#: 9066, Serial#: 12332
    public void rip_psubsw_r12332(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xE9, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsw    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9067, Serial#: 12327
    public void psubsw(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xE9, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsw    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9068, Serial#: 12336
    public void psubsw_r12336(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xE9, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsw    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9069, Serial#: 12322
    public void m_psubsw(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xE9, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsw    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9070, Serial#: 12331
    public void m_psubsw_r12331(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xE9, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsw    xmm0, [rbx + 305419896]}
     */
    // Template#: 9071, Serial#: 12326
    public void psubsw(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xE9, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsw    xmm0, [rbx + 305419896]}
     */
    // Template#: 9072, Serial#: 12335
    public void psubsw_r12335(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xE9, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsw    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9073, Serial#: 12118
    public void psubsw(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xE9, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsw    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9074, Serial#: 12127
    public void psubsw_r12127(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xE9, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsw    mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9075, Serial#: 12136
    public void psubsw_r12136(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xE9, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsw    mm0, [rbx + 18]}
     */
    // Template#: 9076, Serial#: 12117
    public void psubsw(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xE9, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsw    mm0, [rbx + 18]}
     */
    // Template#: 9077, Serial#: 12126
    public void psubsw_r12126(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xE9, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsw    mm0, [rbx + 18]}
     */
    // Template#: 9078, Serial#: 12135
    public void psubsw_r12135(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xE9, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsw    mm0, rbx[rsi * 4]}
     */
    // Template#: 9079, Serial#: 12114
    public void psubsw(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xE9, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsw    mm0, rbx[rsi * 4]}
     */
    // Template#: 9080, Serial#: 12123
    public void psubsw_r12123(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xE9, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsw    mm0, rbx[rsi * 4]}
     */
    // Template#: 9081, Serial#: 12132
    public void psubsw_r12132(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xE9, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsw    mm0, [rbx]}
     */
    // Template#: 9082, Serial#: 12113
    public void psubsw(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xE9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsw    mm0, [rbx]}
     */
    // Template#: 9083, Serial#: 12122
    public void psubsw_r12122(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xE9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsw    mm0, [rbx]}
     */
    // Template#: 9084, Serial#: 12131
    public void psubsw_r12131(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xE9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsw    mm0, mm0}
     */
    // Template#: 9085, Serial#: 12121
    public void psubsw(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xE9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsw    mm0, mm0}
     */
    // Template#: 9086, Serial#: 12130
    public void psubsw_r12130(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xE9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsw    mm0, mm0}
     */
    // Template#: 9087, Serial#: 12139
    public void psubsw_r12139(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xE9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubsw    mm0, [L1: +305419896]}
     */
    // Template#: 9088, Serial#: 12116
    public void rip_psubsw(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xE9, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubsw    mm0, [L1: +305419896]}
     */
    // Template#: 9089, Serial#: 12125
    public void rip_psubsw_r12125(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xE9, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubsw    mm0, [L1: +305419896]}
     */
    // Template#: 9090, Serial#: 12134
    public void rip_psubsw_r12134(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xE9, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsw    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9091, Serial#: 12120
    public void psubsw(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xE9, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsw    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9092, Serial#: 12129
    public void psubsw_r12129(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xE9, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsw    mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9093, Serial#: 12138
    public void psubsw_r12138(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xE9, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsw    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9094, Serial#: 12115
    public void m_psubsw(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xE9, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsw    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9095, Serial#: 12124
    public void m_psubsw_r12124(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xE9, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubsw    mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9096, Serial#: 12133
    public void m_psubsw_r12133(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xE9, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsw    mm0, [rbx + 305419896]}
     */
    // Template#: 9097, Serial#: 12119
    public void psubsw(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xE9, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsw    mm0, [rbx + 305419896]}
     */
    // Template#: 9098, Serial#: 12128
    public void psubsw_r12128(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xE9, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubsw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubsw    mm0, [rbx + 305419896]}
     */
    // Template#: 9099, Serial#: 12137
    public void psubsw_r12137(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xE9, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusb   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9100, Serial#: 11947
    public void psubusb(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xD8, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusb   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9101, Serial#: 11956
    public void psubusb_r11956(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xD8, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusb   xmm0, [rbx + 18]}
     */
    // Template#: 9102, Serial#: 11946
    public void psubusb(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xD8, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusb   xmm0, [rbx + 18]}
     */
    // Template#: 9103, Serial#: 11955
    public void psubusb_r11955(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xD8, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusb   xmm0, rbx[rsi * 4]}
     */
    // Template#: 9104, Serial#: 11943
    public void psubusb(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xD8, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusb   xmm0, rbx[rsi * 4]}
     */
    // Template#: 9105, Serial#: 11952
    public void psubusb_r11952(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xD8, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusb   xmm0, [rbx]}
     */
    // Template#: 9106, Serial#: 11942
    public void psubusb(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xD8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusb   xmm0, [rbx]}
     */
    // Template#: 9107, Serial#: 11951
    public void psubusb_r11951(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xD8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusb   xmm0, xmm0}
     */
    // Template#: 9108, Serial#: 11950
    public void psubusb(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xD8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusb   xmm0, xmm0}
     */
    // Template#: 9109, Serial#: 11959
    public void psubusb_r11959(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xD8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubusb   xmm0, [L1: +305419896]}
     */
    // Template#: 9110, Serial#: 11945
    public void rip_psubusb(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xD8, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubusb   xmm0, [L1: +305419896]}
     */
    // Template#: 9111, Serial#: 11954
    public void rip_psubusb_r11954(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xD8, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusb   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9112, Serial#: 11949
    public void psubusb(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xD8, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusb   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9113, Serial#: 11958
    public void psubusb_r11958(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xD8, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusb   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9114, Serial#: 11944
    public void m_psubusb(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xD8, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusb   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9115, Serial#: 11953
    public void m_psubusb_r11953(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xD8, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusb   xmm0, [rbx + 305419896]}
     */
    // Template#: 9116, Serial#: 11948
    public void psubusb(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xD8, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusb   xmm0, [rbx + 305419896]}
     */
    // Template#: 9117, Serial#: 11957
    public void psubusb_r11957(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xD8, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusb   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9118, Serial#: 11731
    public void psubusb(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xD8, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusb   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9119, Serial#: 11740
    public void psubusb_r11740(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xD8, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusb   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9120, Serial#: 11749
    public void psubusb_r11749(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xD8, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusb   mm0, [rbx + 18]}
     */
    // Template#: 9121, Serial#: 11730
    public void psubusb(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xD8, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusb   mm0, [rbx + 18]}
     */
    // Template#: 9122, Serial#: 11739
    public void psubusb_r11739(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xD8, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusb   mm0, [rbx + 18]}
     */
    // Template#: 9123, Serial#: 11748
    public void psubusb_r11748(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xD8, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusb   mm0, rbx[rsi * 4]}
     */
    // Template#: 9124, Serial#: 11727
    public void psubusb(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xD8, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusb   mm0, rbx[rsi * 4]}
     */
    // Template#: 9125, Serial#: 11736
    public void psubusb_r11736(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xD8, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusb   mm0, rbx[rsi * 4]}
     */
    // Template#: 9126, Serial#: 11745
    public void psubusb_r11745(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xD8, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusb   mm0, [rbx]}
     */
    // Template#: 9127, Serial#: 11726
    public void psubusb(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xD8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusb   mm0, [rbx]}
     */
    // Template#: 9128, Serial#: 11735
    public void psubusb_r11735(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xD8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusb   mm0, [rbx]}
     */
    // Template#: 9129, Serial#: 11744
    public void psubusb_r11744(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xD8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusb   mm0, mm0}
     */
    // Template#: 9130, Serial#: 11734
    public void psubusb(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xD8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusb   mm0, mm0}
     */
    // Template#: 9131, Serial#: 11743
    public void psubusb_r11743(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xD8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusb   mm0, mm0}
     */
    // Template#: 9132, Serial#: 11752
    public void psubusb_r11752(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xD8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubusb   mm0, [L1: +305419896]}
     */
    // Template#: 9133, Serial#: 11729
    public void rip_psubusb(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xD8, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubusb   mm0, [L1: +305419896]}
     */
    // Template#: 9134, Serial#: 11738
    public void rip_psubusb_r11738(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xD8, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubusb   mm0, [L1: +305419896]}
     */
    // Template#: 9135, Serial#: 11747
    public void rip_psubusb_r11747(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xD8, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusb   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9136, Serial#: 11733
    public void psubusb(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xD8, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusb   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9137, Serial#: 11742
    public void psubusb_r11742(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xD8, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusb   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9138, Serial#: 11751
    public void psubusb_r11751(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xD8, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusb   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9139, Serial#: 11728
    public void m_psubusb(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xD8, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusb   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9140, Serial#: 11737
    public void m_psubusb_r11737(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xD8, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusb   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9141, Serial#: 11746
    public void m_psubusb_r11746(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xD8, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusb   mm0, [rbx + 305419896]}
     */
    // Template#: 9142, Serial#: 11732
    public void psubusb(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xD8, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusb   mm0, [rbx + 305419896]}
     */
    // Template#: 9143, Serial#: 11741
    public void psubusb_r11741(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xD8, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusb   mm0, [rbx + 305419896]}
     */
    // Template#: 9144, Serial#: 11750
    public void psubusb_r11750(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xD8, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusw   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9145, Serial#: 11965
    public void psubusw(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xD9, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusw   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9146, Serial#: 11974
    public void psubusw_r11974(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xD9, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusw   xmm0, [rbx + 18]}
     */
    // Template#: 9147, Serial#: 11964
    public void psubusw(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xD9, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusw   xmm0, [rbx + 18]}
     */
    // Template#: 9148, Serial#: 11973
    public void psubusw_r11973(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xD9, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusw   xmm0, rbx[rsi * 4]}
     */
    // Template#: 9149, Serial#: 11961
    public void psubusw(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xD9, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusw   xmm0, rbx[rsi * 4]}
     */
    // Template#: 9150, Serial#: 11970
    public void psubusw_r11970(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xD9, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusw   xmm0, [rbx]}
     */
    // Template#: 9151, Serial#: 11960
    public void psubusw(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xD9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusw   xmm0, [rbx]}
     */
    // Template#: 9152, Serial#: 11969
    public void psubusw_r11969(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xD9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusw   xmm0, xmm0}
     */
    // Template#: 9153, Serial#: 11968
    public void psubusw(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xD9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusw   xmm0, xmm0}
     */
    // Template#: 9154, Serial#: 11977
    public void psubusw_r11977(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xD9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubusw   xmm0, [L1: +305419896]}
     */
    // Template#: 9155, Serial#: 11963
    public void rip_psubusw(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xD9, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubusw   xmm0, [L1: +305419896]}
     */
    // Template#: 9156, Serial#: 11972
    public void rip_psubusw_r11972(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xD9, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusw   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9157, Serial#: 11967
    public void psubusw(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xD9, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusw   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9158, Serial#: 11976
    public void psubusw_r11976(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xD9, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusw   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9159, Serial#: 11962
    public void m_psubusw(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xD9, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusw   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9160, Serial#: 11971
    public void m_psubusw_r11971(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xD9, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusw   xmm0, [rbx + 305419896]}
     */
    // Template#: 9161, Serial#: 11966
    public void psubusw(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xD9, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusw   xmm0, [rbx + 305419896]}
     */
    // Template#: 9162, Serial#: 11975
    public void psubusw_r11975(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xD9, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusw   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9163, Serial#: 11758
    public void psubusw(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xD9, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusw   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9164, Serial#: 11767
    public void psubusw_r11767(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xD9, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusw   mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9165, Serial#: 11776
    public void psubusw_r11776(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xD9, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusw   mm0, [rbx + 18]}
     */
    // Template#: 9166, Serial#: 11757
    public void psubusw(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xD9, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusw   mm0, [rbx + 18]}
     */
    // Template#: 9167, Serial#: 11766
    public void psubusw_r11766(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xD9, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusw   mm0, [rbx + 18]}
     */
    // Template#: 9168, Serial#: 11775
    public void psubusw_r11775(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xD9, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusw   mm0, rbx[rsi * 4]}
     */
    // Template#: 9169, Serial#: 11754
    public void psubusw(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xD9, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusw   mm0, rbx[rsi * 4]}
     */
    // Template#: 9170, Serial#: 11763
    public void psubusw_r11763(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xD9, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusw   mm0, rbx[rsi * 4]}
     */
    // Template#: 9171, Serial#: 11772
    public void psubusw_r11772(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xD9, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusw   mm0, [rbx]}
     */
    // Template#: 9172, Serial#: 11753
    public void psubusw(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xD9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusw   mm0, [rbx]}
     */
    // Template#: 9173, Serial#: 11762
    public void psubusw_r11762(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xD9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusw   mm0, [rbx]}
     */
    // Template#: 9174, Serial#: 11771
    public void psubusw_r11771(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xD9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusw   mm0, mm0}
     */
    // Template#: 9175, Serial#: 11761
    public void psubusw(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xD9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusw   mm0, mm0}
     */
    // Template#: 9176, Serial#: 11770
    public void psubusw_r11770(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xD9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusw   mm0, mm0}
     */
    // Template#: 9177, Serial#: 11779
    public void psubusw_r11779(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xD9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubusw   mm0, [L1: +305419896]}
     */
    // Template#: 9178, Serial#: 11756
    public void rip_psubusw(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xD9, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubusw   mm0, [L1: +305419896]}
     */
    // Template#: 9179, Serial#: 11765
    public void rip_psubusw_r11765(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xD9, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubusw   mm0, [L1: +305419896]}
     */
    // Template#: 9180, Serial#: 11774
    public void rip_psubusw_r11774(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xD9, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusw   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9181, Serial#: 11760
    public void psubusw(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xD9, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusw   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9182, Serial#: 11769
    public void psubusw_r11769(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xD9, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusw   mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9183, Serial#: 11778
    public void psubusw_r11778(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xD9, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusw   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9184, Serial#: 11755
    public void m_psubusw(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xD9, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusw   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9185, Serial#: 11764
    public void m_psubusw_r11764(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xD9, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubusw   mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9186, Serial#: 11773
    public void m_psubusw_r11773(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xD9, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusw   mm0, [rbx + 305419896]}
     */
    // Template#: 9187, Serial#: 11759
    public void psubusw(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xD9, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusw   mm0, [rbx + 305419896]}
     */
    // Template#: 9188, Serial#: 11768
    public void psubusw_r11768(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xD9, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubusw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubusw   mm0, [rbx + 305419896]}
     */
    // Template#: 9189, Serial#: 11777
    public void psubusw_r11777(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xD9, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubw     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9190, Serial#: 12658
    public void psubw(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xF9, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubw     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9191, Serial#: 12667
    public void psubw_r12667(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xF9, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubw     xmm0, [rbx + 18]}
     */
    // Template#: 9192, Serial#: 12657
    public void psubw(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xF9, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubw     xmm0, [rbx + 18]}
     */
    // Template#: 9193, Serial#: 12666
    public void psubw_r12666(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xF9, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubw     xmm0, rbx[rsi * 4]}
     */
    // Template#: 9194, Serial#: 12654
    public void psubw(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xF9, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubw     xmm0, rbx[rsi * 4]}
     */
    // Template#: 9195, Serial#: 12663
    public void psubw_r12663(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xF9, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubw     xmm0, [rbx]}
     */
    // Template#: 9196, Serial#: 12653
    public void psubw(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xF9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubw     xmm0, [rbx]}
     */
    // Template#: 9197, Serial#: 12662
    public void psubw_r12662(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xF9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubw     xmm0, xmm0}
     */
    // Template#: 9198, Serial#: 12661
    public void psubw(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xF9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubw     xmm0, xmm0}
     */
    // Template#: 9199, Serial#: 12670
    public void psubw_r12670(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xF9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubw     xmm0, [L1: +305419896]}
     */
    // Template#: 9200, Serial#: 12656
    public void rip_psubw(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xF9, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubw     xmm0, [L1: +305419896]}
     */
    // Template#: 9201, Serial#: 12665
    public void rip_psubw_r12665(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xF9, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubw     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9202, Serial#: 12660
    public void psubw(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xF9, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubw     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9203, Serial#: 12669
    public void psubw_r12669(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xF9, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubw     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9204, Serial#: 12655
    public void m_psubw(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xF9, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubw     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9205, Serial#: 12664
    public void m_psubw_r12664(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xF9, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubw     xmm0, [rbx + 305419896]}
     */
    // Template#: 9206, Serial#: 12659
    public void psubw(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xF9, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubw     xmm0, [rbx + 305419896]}
     */
    // Template#: 9207, Serial#: 12668
    public void psubw_r12668(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xF9, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubw     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9208, Serial#: 12478
    public void psubw(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xF9, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubw     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9209, Serial#: 12487
    public void psubw_r12487(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xF9, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubw     mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9210, Serial#: 12496
    public void psubw_r12496(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xF9, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubw     mm0, [rbx + 18]}
     */
    // Template#: 9211, Serial#: 12477
    public void psubw(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xF9, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubw     mm0, [rbx + 18]}
     */
    // Template#: 9212, Serial#: 12486
    public void psubw_r12486(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xF9, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code psubw     mm0, [rbx + 18]}
     */
    // Template#: 9213, Serial#: 12495
    public void psubw_r12495(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xF9, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubw     mm0, rbx[rsi * 4]}
     */
    // Template#: 9214, Serial#: 12474
    public void psubw(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xF9, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubw     mm0, rbx[rsi * 4]}
     */
    // Template#: 9215, Serial#: 12483
    public void psubw_r12483(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xF9, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubw     mm0, rbx[rsi * 4]}
     */
    // Template#: 9216, Serial#: 12492
    public void psubw_r12492(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xF9, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubw     mm0, [rbx]}
     */
    // Template#: 9217, Serial#: 12473
    public void psubw(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xF9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubw     mm0, [rbx]}
     */
    // Template#: 9218, Serial#: 12482
    public void psubw_r12482(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xF9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubw     mm0, [rbx]}
     */
    // Template#: 9219, Serial#: 12491
    public void psubw_r12491(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xF9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubw     mm0, mm0}
     */
    // Template#: 9220, Serial#: 12481
    public void psubw(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xF9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubw     mm0, mm0}
     */
    // Template#: 9221, Serial#: 12490
    public void psubw_r12490(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xF9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code psubw     mm0, mm0}
     */
    // Template#: 9222, Serial#: 12499
    public void psubw_r12499(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xF9, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubw     mm0, [L1: +305419896]}
     */
    // Template#: 9223, Serial#: 12476
    public void rip_psubw(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xF9, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubw     mm0, [L1: +305419896]}
     */
    // Template#: 9224, Serial#: 12485
    public void rip_psubw_r12485(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xF9, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code psubw     mm0, [L1: +305419896]}
     */
    // Template#: 9225, Serial#: 12494
    public void rip_psubw_r12494(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xF9, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubw     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9226, Serial#: 12480
    public void psubw(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xF9, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubw     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9227, Serial#: 12489
    public void psubw_r12489(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xF9, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubw     mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9228, Serial#: 12498
    public void psubw_r12498(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xF9, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubw     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9229, Serial#: 12475
    public void m_psubw(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xF9, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubw     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9230, Serial#: 12484
    public void m_psubw_r12484(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xF9, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code psubw     mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9231, Serial#: 12493
    public void m_psubw_r12493(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xF9, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubw     mm0, [rbx + 305419896]}
     */
    // Template#: 9232, Serial#: 12479
    public void psubw(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xF9, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubw     mm0, [rbx + 305419896]}
     */
    // Template#: 9233, Serial#: 12488
    public void psubw_r12488(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xF9, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code psubw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code psubw     mm0, [rbx + 305419896]}
     */
    // Template#: 9234, Serial#: 12497
    public void psubw_r12497(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xF9, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhbw  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9235, Serial#: 10676
    public void punpckhbw(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x68, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhbw  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9236, Serial#: 10685
    public void punpckhbw_r10685(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x68, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhbw  xmm0, [rbx + 18]}
     */
    // Template#: 9237, Serial#: 10675
    public void punpckhbw(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x68, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhbw  xmm0, [rbx + 18]}
     */
    // Template#: 9238, Serial#: 10684
    public void punpckhbw_r10684(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x68, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhbw  xmm0, rbx[rsi * 4]}
     */
    // Template#: 9239, Serial#: 10672
    public void punpckhbw(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x68, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhbw  xmm0, rbx[rsi * 4]}
     */
    // Template#: 9240, Serial#: 10681
    public void punpckhbw_r10681(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x68, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhbw  xmm0, [rbx]}
     */
    // Template#: 9241, Serial#: 10671
    public void punpckhbw(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x68, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhbw  xmm0, [rbx]}
     */
    // Template#: 9242, Serial#: 10680
    public void punpckhbw_r10680(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x68, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhbw  xmm0, xmm0}
     */
    // Template#: 9243, Serial#: 10679
    public void punpckhbw(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x68, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhbw  xmm0, xmm0}
     */
    // Template#: 9244, Serial#: 10688
    public void punpckhbw_r10688(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x68, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpckhbw  xmm0, [L1: +305419896]}
     */
    // Template#: 9245, Serial#: 10674
    public void rip_punpckhbw(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x68, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpckhbw  xmm0, [L1: +305419896]}
     */
    // Template#: 9246, Serial#: 10683
    public void rip_punpckhbw_r10683(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x68, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhbw  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9247, Serial#: 10678
    public void punpckhbw(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x68, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhbw  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9248, Serial#: 10687
    public void punpckhbw_r10687(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x68, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhbw  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9249, Serial#: 10673
    public void m_punpckhbw(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x68, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhbw  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9250, Serial#: 10682
    public void m_punpckhbw_r10682(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x68, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhbw  xmm0, [rbx + 305419896]}
     */
    // Template#: 9251, Serial#: 10677
    public void punpckhbw(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x68, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhbw  xmm0, [rbx + 305419896]}
     */
    // Template#: 9252, Serial#: 10686
    public void punpckhbw_r10686(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x68, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhbw  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9253, Serial#: 10523
    public void punpckhbw(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0x68, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhbw  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9254, Serial#: 10532
    public void punpckhbw_r10532(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0x68, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhbw  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9255, Serial#: 10541
    public void punpckhbw_r10541(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0x68, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhbw  mm0, [rbx + 18]}
     */
    // Template#: 9256, Serial#: 10522
    public void punpckhbw(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0x68, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhbw  mm0, [rbx + 18]}
     */
    // Template#: 9257, Serial#: 10531
    public void punpckhbw_r10531(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0x68, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhbw  mm0, [rbx + 18]}
     */
    // Template#: 9258, Serial#: 10540
    public void punpckhbw_r10540(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0x68, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhbw  mm0, rbx[rsi * 4]}
     */
    // Template#: 9259, Serial#: 10519
    public void punpckhbw(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0x68, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhbw  mm0, rbx[rsi * 4]}
     */
    // Template#: 9260, Serial#: 10528
    public void punpckhbw_r10528(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0x68, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhbw  mm0, rbx[rsi * 4]}
     */
    // Template#: 9261, Serial#: 10537
    public void punpckhbw_r10537(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0x68, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhbw  mm0, [rbx]}
     */
    // Template#: 9262, Serial#: 10518
    public void punpckhbw(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0x68, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhbw  mm0, [rbx]}
     */
    // Template#: 9263, Serial#: 10527
    public void punpckhbw_r10527(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0x68, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhbw  mm0, [rbx]}
     */
    // Template#: 9264, Serial#: 10536
    public void punpckhbw_r10536(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0x68, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhbw  mm0, mm0}
     */
    // Template#: 9265, Serial#: 10526
    public void punpckhbw(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0x68, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhbw  mm0, mm0}
     */
    // Template#: 9266, Serial#: 10535
    public void punpckhbw_r10535(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0x68, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhbw  mm0, mm0}
     */
    // Template#: 9267, Serial#: 10544
    public void punpckhbw_r10544(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0x68, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpckhbw  mm0, [L1: +305419896]}
     */
    // Template#: 9268, Serial#: 10521
    public void rip_punpckhbw(MMXRegister destination, int rel32) {
        assemble0525((byte) 0x68, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpckhbw  mm0, [L1: +305419896]}
     */
    // Template#: 9269, Serial#: 10530
    public void rip_punpckhbw_r10530(MMXRegister destination, int rel32) {
        assemble0526((byte) 0x68, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpckhbw  mm0, [L1: +305419896]}
     */
    // Template#: 9270, Serial#: 10539
    public void rip_punpckhbw_r10539(MMXRegister destination, int rel32) {
        assemble0951((byte) 0x68, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhbw  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9271, Serial#: 10525
    public void punpckhbw(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0x68, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhbw  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9272, Serial#: 10534
    public void punpckhbw_r10534(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0x68, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhbw  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9273, Serial#: 10543
    public void punpckhbw_r10543(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0x68, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhbw  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9274, Serial#: 10520
    public void m_punpckhbw(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0x68, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhbw  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9275, Serial#: 10529
    public void m_punpckhbw_r10529(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0x68, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhbw  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9276, Serial#: 10538
    public void m_punpckhbw_r10538(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0x68, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhbw  mm0, [rbx + 305419896]}
     */
    // Template#: 9277, Serial#: 10524
    public void punpckhbw(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0x68, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhbw  mm0, [rbx + 305419896]}
     */
    // Template#: 9278, Serial#: 10533
    public void punpckhbw_r10533(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0x68, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhbw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhbw  mm0, [rbx + 305419896]}
     */
    // Template#: 9279, Serial#: 10542
    public void punpckhbw_r10542(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0x68, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhdq  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9280, Serial#: 10712
    public void punpckhdq(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x6A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhdq  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9281, Serial#: 10721
    public void punpckhdq_r10721(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x6A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhdq  xmm0, [rbx + 18]}
     */
    // Template#: 9282, Serial#: 10711
    public void punpckhdq(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x6A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhdq  xmm0, [rbx + 18]}
     */
    // Template#: 9283, Serial#: 10720
    public void punpckhdq_r10720(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x6A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhdq  xmm0, rbx[rsi * 4]}
     */
    // Template#: 9284, Serial#: 10708
    public void punpckhdq(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x6A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhdq  xmm0, rbx[rsi * 4]}
     */
    // Template#: 9285, Serial#: 10717
    public void punpckhdq_r10717(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x6A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhdq  xmm0, [rbx]}
     */
    // Template#: 9286, Serial#: 10707
    public void punpckhdq(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x6A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhdq  xmm0, [rbx]}
     */
    // Template#: 9287, Serial#: 10716
    public void punpckhdq_r10716(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x6A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhdq  xmm0, xmm0}
     */
    // Template#: 9288, Serial#: 10715
    public void punpckhdq(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x6A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhdq  xmm0, xmm0}
     */
    // Template#: 9289, Serial#: 10724
    public void punpckhdq_r10724(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x6A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpckhdq  xmm0, [L1: +305419896]}
     */
    // Template#: 9290, Serial#: 10710
    public void rip_punpckhdq(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x6A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpckhdq  xmm0, [L1: +305419896]}
     */
    // Template#: 9291, Serial#: 10719
    public void rip_punpckhdq_r10719(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x6A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhdq  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9292, Serial#: 10714
    public void punpckhdq(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x6A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhdq  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9293, Serial#: 10723
    public void punpckhdq_r10723(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x6A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhdq  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9294, Serial#: 10709
    public void m_punpckhdq(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x6A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhdq  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9295, Serial#: 10718
    public void m_punpckhdq_r10718(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x6A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhdq  xmm0, [rbx + 305419896]}
     */
    // Template#: 9296, Serial#: 10713
    public void punpckhdq(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x6A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhdq  xmm0, [rbx + 305419896]}
     */
    // Template#: 9297, Serial#: 10722
    public void punpckhdq_r10722(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x6A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhdq  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9298, Serial#: 10577
    public void punpckhdq(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0x6A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhdq  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9299, Serial#: 10586
    public void punpckhdq_r10586(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0x6A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhdq  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9300, Serial#: 10595
    public void punpckhdq_r10595(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0x6A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhdq  mm0, [rbx + 18]}
     */
    // Template#: 9301, Serial#: 10576
    public void punpckhdq(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0x6A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhdq  mm0, [rbx + 18]}
     */
    // Template#: 9302, Serial#: 10585
    public void punpckhdq_r10585(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0x6A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhdq  mm0, [rbx + 18]}
     */
    // Template#: 9303, Serial#: 10594
    public void punpckhdq_r10594(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0x6A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhdq  mm0, rbx[rsi * 4]}
     */
    // Template#: 9304, Serial#: 10573
    public void punpckhdq(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0x6A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhdq  mm0, rbx[rsi * 4]}
     */
    // Template#: 9305, Serial#: 10582
    public void punpckhdq_r10582(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0x6A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhdq  mm0, rbx[rsi * 4]}
     */
    // Template#: 9306, Serial#: 10591
    public void punpckhdq_r10591(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0x6A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhdq  mm0, [rbx]}
     */
    // Template#: 9307, Serial#: 10572
    public void punpckhdq(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0x6A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhdq  mm0, [rbx]}
     */
    // Template#: 9308, Serial#: 10581
    public void punpckhdq_r10581(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0x6A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhdq  mm0, [rbx]}
     */
    // Template#: 9309, Serial#: 10590
    public void punpckhdq_r10590(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0x6A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhdq  mm0, mm0}
     */
    // Template#: 9310, Serial#: 10580
    public void punpckhdq(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0x6A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhdq  mm0, mm0}
     */
    // Template#: 9311, Serial#: 10589
    public void punpckhdq_r10589(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0x6A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhdq  mm0, mm0}
     */
    // Template#: 9312, Serial#: 10598
    public void punpckhdq_r10598(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0x6A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpckhdq  mm0, [L1: +305419896]}
     */
    // Template#: 9313, Serial#: 10575
    public void rip_punpckhdq(MMXRegister destination, int rel32) {
        assemble0525((byte) 0x6A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpckhdq  mm0, [L1: +305419896]}
     */
    // Template#: 9314, Serial#: 10584
    public void rip_punpckhdq_r10584(MMXRegister destination, int rel32) {
        assemble0526((byte) 0x6A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpckhdq  mm0, [L1: +305419896]}
     */
    // Template#: 9315, Serial#: 10593
    public void rip_punpckhdq_r10593(MMXRegister destination, int rel32) {
        assemble0951((byte) 0x6A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhdq  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9316, Serial#: 10579
    public void punpckhdq(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0x6A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhdq  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9317, Serial#: 10588
    public void punpckhdq_r10588(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0x6A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhdq  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9318, Serial#: 10597
    public void punpckhdq_r10597(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0x6A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhdq  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9319, Serial#: 10574
    public void m_punpckhdq(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0x6A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhdq  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9320, Serial#: 10583
    public void m_punpckhdq_r10583(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0x6A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhdq  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9321, Serial#: 10592
    public void m_punpckhdq_r10592(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0x6A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhdq  mm0, [rbx + 305419896]}
     */
    // Template#: 9322, Serial#: 10578
    public void punpckhdq(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0x6A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhdq  mm0, [rbx + 305419896]}
     */
    // Template#: 9323, Serial#: 10587
    public void punpckhdq_r10587(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0x6A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhdq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhdq  mm0, [rbx + 305419896]}
     */
    // Template#: 9324, Serial#: 10596
    public void punpckhdq_r10596(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0x6A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhqdq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhqdq  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9325, Serial#: 10766
    public void punpckhqdq(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x6D, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhqdq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhqdq  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9326, Serial#: 10775
    public void punpckhqdq_r10775(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x6D, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhqdq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhqdq  xmm0, [rbx + 18]}
     */
    // Template#: 9327, Serial#: 10765
    public void punpckhqdq(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x6D, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhqdq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhqdq  xmm0, [rbx + 18]}
     */
    // Template#: 9328, Serial#: 10774
    public void punpckhqdq_r10774(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x6D, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhqdq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhqdq  xmm0, rbx[rsi * 4]}
     */
    // Template#: 9329, Serial#: 10762
    public void punpckhqdq(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x6D, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhqdq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhqdq  xmm0, rbx[rsi * 4]}
     */
    // Template#: 9330, Serial#: 10771
    public void punpckhqdq_r10771(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x6D, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhqdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhqdq  xmm0, [rbx]}
     */
    // Template#: 9331, Serial#: 10761
    public void punpckhqdq(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x6D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhqdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhqdq  xmm0, [rbx]}
     */
    // Template#: 9332, Serial#: 10770
    public void punpckhqdq_r10770(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x6D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhqdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhqdq  xmm0, xmm0}
     */
    // Template#: 9333, Serial#: 10769
    public void punpckhqdq(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x6D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhqdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhqdq  xmm0, xmm0}
     */
    // Template#: 9334, Serial#: 10778
    public void punpckhqdq_r10778(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x6D, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhqdq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpckhqdq  xmm0, [L1: +305419896]}
     */
    // Template#: 9335, Serial#: 10764
    public void rip_punpckhqdq(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x6D, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhqdq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpckhqdq  xmm0, [L1: +305419896]}
     */
    // Template#: 9336, Serial#: 10773
    public void rip_punpckhqdq_r10773(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x6D, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhqdq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhqdq  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9337, Serial#: 10768
    public void punpckhqdq(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x6D, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhqdq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhqdq  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9338, Serial#: 10777
    public void punpckhqdq_r10777(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x6D, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhqdq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhqdq  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9339, Serial#: 10763
    public void m_punpckhqdq(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x6D, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhqdq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhqdq  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9340, Serial#: 10772
    public void m_punpckhqdq_r10772(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x6D, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhqdq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhqdq  xmm0, [rbx + 305419896]}
     */
    // Template#: 9341, Serial#: 10767
    public void punpckhqdq(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x6D, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhqdq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhqdq  xmm0, [rbx + 305419896]}
     */
    // Template#: 9342, Serial#: 10776
    public void punpckhqdq_r10776(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x6D, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhwd  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9343, Serial#: 10694
    public void punpckhwd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x69, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhwd  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9344, Serial#: 10703
    public void punpckhwd_r10703(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x69, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhwd  xmm0, [rbx + 18]}
     */
    // Template#: 9345, Serial#: 10693
    public void punpckhwd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x69, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhwd  xmm0, [rbx + 18]}
     */
    // Template#: 9346, Serial#: 10702
    public void punpckhwd_r10702(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x69, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhwd  xmm0, rbx[rsi * 4]}
     */
    // Template#: 9347, Serial#: 10690
    public void punpckhwd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x69, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhwd  xmm0, rbx[rsi * 4]}
     */
    // Template#: 9348, Serial#: 10699
    public void punpckhwd_r10699(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x69, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhwd  xmm0, [rbx]}
     */
    // Template#: 9349, Serial#: 10689
    public void punpckhwd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x69, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhwd  xmm0, [rbx]}
     */
    // Template#: 9350, Serial#: 10698
    public void punpckhwd_r10698(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x69, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhwd  xmm0, xmm0}
     */
    // Template#: 9351, Serial#: 10697
    public void punpckhwd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x69, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhwd  xmm0, xmm0}
     */
    // Template#: 9352, Serial#: 10706
    public void punpckhwd_r10706(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x69, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpckhwd  xmm0, [L1: +305419896]}
     */
    // Template#: 9353, Serial#: 10692
    public void rip_punpckhwd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x69, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpckhwd  xmm0, [L1: +305419896]}
     */
    // Template#: 9354, Serial#: 10701
    public void rip_punpckhwd_r10701(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x69, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhwd  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9355, Serial#: 10696
    public void punpckhwd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x69, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhwd  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9356, Serial#: 10705
    public void punpckhwd_r10705(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x69, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhwd  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9357, Serial#: 10691
    public void m_punpckhwd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x69, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhwd  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9358, Serial#: 10700
    public void m_punpckhwd_r10700(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x69, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhwd  xmm0, [rbx + 305419896]}
     */
    // Template#: 9359, Serial#: 10695
    public void punpckhwd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x69, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhwd  xmm0, [rbx + 305419896]}
     */
    // Template#: 9360, Serial#: 10704
    public void punpckhwd_r10704(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x69, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhwd  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9361, Serial#: 10550
    public void punpckhwd(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0x69, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhwd  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9362, Serial#: 10559
    public void punpckhwd_r10559(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0x69, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhwd  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9363, Serial#: 10568
    public void punpckhwd_r10568(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0x69, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhwd  mm0, [rbx + 18]}
     */
    // Template#: 9364, Serial#: 10549
    public void punpckhwd(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0x69, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhwd  mm0, [rbx + 18]}
     */
    // Template#: 9365, Serial#: 10558
    public void punpckhwd_r10558(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0x69, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhwd  mm0, [rbx + 18]}
     */
    // Template#: 9366, Serial#: 10567
    public void punpckhwd_r10567(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0x69, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhwd  mm0, rbx[rsi * 4]}
     */
    // Template#: 9367, Serial#: 10546
    public void punpckhwd(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0x69, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhwd  mm0, rbx[rsi * 4]}
     */
    // Template#: 9368, Serial#: 10555
    public void punpckhwd_r10555(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0x69, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhwd  mm0, rbx[rsi * 4]}
     */
    // Template#: 9369, Serial#: 10564
    public void punpckhwd_r10564(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0x69, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhwd  mm0, [rbx]}
     */
    // Template#: 9370, Serial#: 10545
    public void punpckhwd(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0x69, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhwd  mm0, [rbx]}
     */
    // Template#: 9371, Serial#: 10554
    public void punpckhwd_r10554(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0x69, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhwd  mm0, [rbx]}
     */
    // Template#: 9372, Serial#: 10563
    public void punpckhwd_r10563(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0x69, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhwd  mm0, mm0}
     */
    // Template#: 9373, Serial#: 10553
    public void punpckhwd(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0x69, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhwd  mm0, mm0}
     */
    // Template#: 9374, Serial#: 10562
    public void punpckhwd_r10562(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0x69, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhwd  mm0, mm0}
     */
    // Template#: 9375, Serial#: 10571
    public void punpckhwd_r10571(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0x69, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpckhwd  mm0, [L1: +305419896]}
     */
    // Template#: 9376, Serial#: 10548
    public void rip_punpckhwd(MMXRegister destination, int rel32) {
        assemble0525((byte) 0x69, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpckhwd  mm0, [L1: +305419896]}
     */
    // Template#: 9377, Serial#: 10557
    public void rip_punpckhwd_r10557(MMXRegister destination, int rel32) {
        assemble0526((byte) 0x69, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpckhwd  mm0, [L1: +305419896]}
     */
    // Template#: 9378, Serial#: 10566
    public void rip_punpckhwd_r10566(MMXRegister destination, int rel32) {
        assemble0951((byte) 0x69, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhwd  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9379, Serial#: 10552
    public void punpckhwd(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0x69, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhwd  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9380, Serial#: 10561
    public void punpckhwd_r10561(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0x69, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhwd  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9381, Serial#: 10570
    public void punpckhwd_r10570(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0x69, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhwd  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9382, Serial#: 10547
    public void m_punpckhwd(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0x69, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhwd  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9383, Serial#: 10556
    public void m_punpckhwd_r10556(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0x69, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckhwd  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9384, Serial#: 10565
    public void m_punpckhwd_r10565(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0x69, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhwd  mm0, [rbx + 305419896]}
     */
    // Template#: 9385, Serial#: 10551
    public void punpckhwd(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0x69, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhwd  mm0, [rbx + 305419896]}
     */
    // Template#: 9386, Serial#: 10560
    public void punpckhwd_r10560(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0x69, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckhwd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckhwd  mm0, [rbx + 305419896]}
     */
    // Template#: 9387, Serial#: 10569
    public void punpckhwd_r10569(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0x69, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklbw  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9388, Serial#: 7096
    public void punpcklbw(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x60, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklbw  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9389, Serial#: 7105
    public void punpcklbw_r7105(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x60, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklbw  xmm0, [rbx + 18]}
     */
    // Template#: 9390, Serial#: 7095
    public void punpcklbw(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x60, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklbw  xmm0, [rbx + 18]}
     */
    // Template#: 9391, Serial#: 7104
    public void punpcklbw_r7104(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x60, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklbw  xmm0, rbx[rsi * 4]}
     */
    // Template#: 9392, Serial#: 7092
    public void punpcklbw(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x60, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklbw  xmm0, rbx[rsi * 4]}
     */
    // Template#: 9393, Serial#: 7101
    public void punpcklbw_r7101(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x60, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklbw  xmm0, [rbx]}
     */
    // Template#: 9394, Serial#: 7091
    public void punpcklbw(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x60, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklbw  xmm0, [rbx]}
     */
    // Template#: 9395, Serial#: 7100
    public void punpcklbw_r7100(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x60, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklbw  xmm0, xmm0}
     */
    // Template#: 9396, Serial#: 7099
    public void punpcklbw(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x60, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklbw  xmm0, xmm0}
     */
    // Template#: 9397, Serial#: 7108
    public void punpcklbw_r7108(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x60, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpcklbw  xmm0, [L1: +305419896]}
     */
    // Template#: 9398, Serial#: 7094
    public void rip_punpcklbw(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x60, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpcklbw  xmm0, [L1: +305419896]}
     */
    // Template#: 9399, Serial#: 7103
    public void rip_punpcklbw_r7103(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x60, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklbw  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9400, Serial#: 7098
    public void punpcklbw(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x60, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklbw  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9401, Serial#: 7107
    public void punpcklbw_r7107(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x60, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklbw  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9402, Serial#: 7093
    public void m_punpcklbw(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x60, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklbw  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9403, Serial#: 7102
    public void m_punpcklbw_r7102(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x60, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklbw  xmm0, [rbx + 305419896]}
     */
    // Template#: 9404, Serial#: 7097
    public void punpcklbw(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x60, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklbw  xmm0, [rbx + 305419896]}
     */
    // Template#: 9405, Serial#: 7106
    public void punpcklbw_r7106(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x60, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklbw  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9406, Serial#: 6880
    public void punpcklbw(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0x60, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklbw  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9407, Serial#: 6889
    public void punpcklbw_r6889(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0x60, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklbw  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9408, Serial#: 6898
    public void punpcklbw_r6898(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0x60, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklbw  mm0, [rbx + 18]}
     */
    // Template#: 9409, Serial#: 6879
    public void punpcklbw(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0x60, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklbw  mm0, [rbx + 18]}
     */
    // Template#: 9410, Serial#: 6888
    public void punpcklbw_r6888(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0x60, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklbw  mm0, [rbx + 18]}
     */
    // Template#: 9411, Serial#: 6897
    public void punpcklbw_r6897(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0x60, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklbw  mm0, rbx[rsi * 4]}
     */
    // Template#: 9412, Serial#: 6876
    public void punpcklbw(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0x60, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklbw  mm0, rbx[rsi * 4]}
     */
    // Template#: 9413, Serial#: 6885
    public void punpcklbw_r6885(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0x60, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklbw  mm0, rbx[rsi * 4]}
     */
    // Template#: 9414, Serial#: 6894
    public void punpcklbw_r6894(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0x60, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklbw  mm0, [rbx]}
     */
    // Template#: 9415, Serial#: 6875
    public void punpcklbw(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0x60, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklbw  mm0, [rbx]}
     */
    // Template#: 9416, Serial#: 6884
    public void punpcklbw_r6884(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0x60, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklbw  mm0, [rbx]}
     */
    // Template#: 9417, Serial#: 6893
    public void punpcklbw_r6893(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0x60, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklbw  mm0, mm0}
     */
    // Template#: 9418, Serial#: 6883
    public void punpcklbw(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0x60, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklbw  mm0, mm0}
     */
    // Template#: 9419, Serial#: 6892
    public void punpcklbw_r6892(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0x60, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklbw  mm0, mm0}
     */
    // Template#: 9420, Serial#: 6901
    public void punpcklbw_r6901(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0x60, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpcklbw  mm0, [L1: +305419896]}
     */
    // Template#: 9421, Serial#: 6878
    public void rip_punpcklbw(MMXRegister destination, int rel32) {
        assemble0525((byte) 0x60, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpcklbw  mm0, [L1: +305419896]}
     */
    // Template#: 9422, Serial#: 6887
    public void rip_punpcklbw_r6887(MMXRegister destination, int rel32) {
        assemble0526((byte) 0x60, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpcklbw  mm0, [L1: +305419896]}
     */
    // Template#: 9423, Serial#: 6896
    public void rip_punpcklbw_r6896(MMXRegister destination, int rel32) {
        assemble0951((byte) 0x60, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklbw  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9424, Serial#: 6882
    public void punpcklbw(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0x60, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklbw  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9425, Serial#: 6891
    public void punpcklbw_r6891(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0x60, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklbw  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9426, Serial#: 6900
    public void punpcklbw_r6900(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0x60, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklbw  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9427, Serial#: 6877
    public void m_punpcklbw(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0x60, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklbw  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9428, Serial#: 6886
    public void m_punpcklbw_r6886(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0x60, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklbw  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9429, Serial#: 6895
    public void m_punpcklbw_r6895(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0x60, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklbw  mm0, [rbx + 305419896]}
     */
    // Template#: 9430, Serial#: 6881
    public void punpcklbw(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0x60, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklbw  mm0, [rbx + 305419896]}
     */
    // Template#: 9431, Serial#: 6890
    public void punpcklbw_r6890(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0x60, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklbw  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklbw  mm0, [rbx + 305419896]}
     */
    // Template#: 9432, Serial#: 6899
    public void punpcklbw_r6899(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0x60, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckldq  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9433, Serial#: 7132
    public void punpckldq(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x62, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckldq  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9434, Serial#: 7141
    public void punpckldq_r7141(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x62, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckldq  xmm0, [rbx + 18]}
     */
    // Template#: 9435, Serial#: 7131
    public void punpckldq(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x62, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckldq  xmm0, [rbx + 18]}
     */
    // Template#: 9436, Serial#: 7140
    public void punpckldq_r7140(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x62, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckldq  xmm0, rbx[rsi * 4]}
     */
    // Template#: 9437, Serial#: 7128
    public void punpckldq(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x62, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckldq  xmm0, rbx[rsi * 4]}
     */
    // Template#: 9438, Serial#: 7137
    public void punpckldq_r7137(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x62, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckldq  xmm0, [rbx]}
     */
    // Template#: 9439, Serial#: 7127
    public void punpckldq(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x62, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckldq  xmm0, [rbx]}
     */
    // Template#: 9440, Serial#: 7136
    public void punpckldq_r7136(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x62, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckldq  xmm0, xmm0}
     */
    // Template#: 9441, Serial#: 7135
    public void punpckldq(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x62, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckldq  xmm0, xmm0}
     */
    // Template#: 9442, Serial#: 7144
    public void punpckldq_r7144(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x62, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpckldq  xmm0, [L1: +305419896]}
     */
    // Template#: 9443, Serial#: 7130
    public void rip_punpckldq(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x62, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpckldq  xmm0, [L1: +305419896]}
     */
    // Template#: 9444, Serial#: 7139
    public void rip_punpckldq_r7139(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x62, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckldq  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9445, Serial#: 7134
    public void punpckldq(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x62, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckldq  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9446, Serial#: 7143
    public void punpckldq_r7143(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x62, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckldq  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9447, Serial#: 7129
    public void m_punpckldq(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x62, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckldq  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9448, Serial#: 7138
    public void m_punpckldq_r7138(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x62, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckldq  xmm0, [rbx + 305419896]}
     */
    // Template#: 9449, Serial#: 7133
    public void punpckldq(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x62, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckldq  xmm0, [rbx + 305419896]}
     */
    // Template#: 9450, Serial#: 7142
    public void punpckldq_r7142(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x62, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckldq  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9451, Serial#: 6934
    public void punpckldq(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0x62, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckldq  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9452, Serial#: 6943
    public void punpckldq_r6943(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0x62, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckldq  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9453, Serial#: 6952
    public void punpckldq_r6952(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0x62, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckldq  mm0, [rbx + 18]}
     */
    // Template#: 9454, Serial#: 6933
    public void punpckldq(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0x62, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckldq  mm0, [rbx + 18]}
     */
    // Template#: 9455, Serial#: 6942
    public void punpckldq_r6942(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0x62, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckldq  mm0, [rbx + 18]}
     */
    // Template#: 9456, Serial#: 6951
    public void punpckldq_r6951(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0x62, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckldq  mm0, rbx[rsi * 4]}
     */
    // Template#: 9457, Serial#: 6930
    public void punpckldq(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0x62, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckldq  mm0, rbx[rsi * 4]}
     */
    // Template#: 9458, Serial#: 6939
    public void punpckldq_r6939(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0x62, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckldq  mm0, rbx[rsi * 4]}
     */
    // Template#: 9459, Serial#: 6948
    public void punpckldq_r6948(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0x62, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckldq  mm0, [rbx]}
     */
    // Template#: 9460, Serial#: 6929
    public void punpckldq(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0x62, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckldq  mm0, [rbx]}
     */
    // Template#: 9461, Serial#: 6938
    public void punpckldq_r6938(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0x62, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckldq  mm0, [rbx]}
     */
    // Template#: 9462, Serial#: 6947
    public void punpckldq_r6947(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0x62, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckldq  mm0, mm0}
     */
    // Template#: 9463, Serial#: 6937
    public void punpckldq(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0x62, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckldq  mm0, mm0}
     */
    // Template#: 9464, Serial#: 6946
    public void punpckldq_r6946(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0x62, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckldq  mm0, mm0}
     */
    // Template#: 9465, Serial#: 6955
    public void punpckldq_r6955(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0x62, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpckldq  mm0, [L1: +305419896]}
     */
    // Template#: 9466, Serial#: 6932
    public void rip_punpckldq(MMXRegister destination, int rel32) {
        assemble0525((byte) 0x62, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpckldq  mm0, [L1: +305419896]}
     */
    // Template#: 9467, Serial#: 6941
    public void rip_punpckldq_r6941(MMXRegister destination, int rel32) {
        assemble0526((byte) 0x62, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpckldq  mm0, [L1: +305419896]}
     */
    // Template#: 9468, Serial#: 6950
    public void rip_punpckldq_r6950(MMXRegister destination, int rel32) {
        assemble0951((byte) 0x62, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckldq  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9469, Serial#: 6936
    public void punpckldq(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0x62, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckldq  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9470, Serial#: 6945
    public void punpckldq_r6945(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0x62, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckldq  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9471, Serial#: 6954
    public void punpckldq_r6954(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0x62, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckldq  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9472, Serial#: 6931
    public void m_punpckldq(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0x62, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckldq  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9473, Serial#: 6940
    public void m_punpckldq_r6940(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0x62, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpckldq  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9474, Serial#: 6949
    public void m_punpckldq_r6949(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0x62, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckldq  mm0, [rbx + 305419896]}
     */
    // Template#: 9475, Serial#: 6935
    public void punpckldq(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0x62, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckldq  mm0, [rbx + 305419896]}
     */
    // Template#: 9476, Serial#: 6944
    public void punpckldq_r6944(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0x62, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpckldq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpckldq  mm0, [rbx + 305419896]}
     */
    // Template#: 9477, Serial#: 6953
    public void punpckldq_r6953(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0x62, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklqdq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklqdq  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9478, Serial#: 10748
    public void punpcklqdq(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x6C, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklqdq  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklqdq  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9479, Serial#: 10757
    public void punpcklqdq_r10757(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x6C, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklqdq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklqdq  xmm0, [rbx + 18]}
     */
    // Template#: 9480, Serial#: 10747
    public void punpcklqdq(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x6C, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklqdq  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklqdq  xmm0, [rbx + 18]}
     */
    // Template#: 9481, Serial#: 10756
    public void punpcklqdq_r10756(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x6C, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklqdq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklqdq  xmm0, rbx[rsi * 4]}
     */
    // Template#: 9482, Serial#: 10744
    public void punpcklqdq(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x6C, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklqdq  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklqdq  xmm0, rbx[rsi * 4]}
     */
    // Template#: 9483, Serial#: 10753
    public void punpcklqdq_r10753(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x6C, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklqdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklqdq  xmm0, [rbx]}
     */
    // Template#: 9484, Serial#: 10743
    public void punpcklqdq(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x6C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklqdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklqdq  xmm0, [rbx]}
     */
    // Template#: 9485, Serial#: 10752
    public void punpcklqdq_r10752(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x6C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklqdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklqdq  xmm0, xmm0}
     */
    // Template#: 9486, Serial#: 10751
    public void punpcklqdq(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x6C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklqdq  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklqdq  xmm0, xmm0}
     */
    // Template#: 9487, Serial#: 10760
    public void punpcklqdq_r10760(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x6C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklqdq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpcklqdq  xmm0, [L1: +305419896]}
     */
    // Template#: 9488, Serial#: 10746
    public void rip_punpcklqdq(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x6C, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklqdq  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpcklqdq  xmm0, [L1: +305419896]}
     */
    // Template#: 9489, Serial#: 10755
    public void rip_punpcklqdq_r10755(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x6C, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklqdq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklqdq  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9490, Serial#: 10750
    public void punpcklqdq(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x6C, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklqdq  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklqdq  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9491, Serial#: 10759
    public void punpcklqdq_r10759(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x6C, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklqdq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklqdq  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9492, Serial#: 10745
    public void m_punpcklqdq(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x6C, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklqdq  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklqdq  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9493, Serial#: 10754
    public void m_punpcklqdq_r10754(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x6C, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklqdq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklqdq  xmm0, [rbx + 305419896]}
     */
    // Template#: 9494, Serial#: 10749
    public void punpcklqdq(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x6C, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklqdq  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklqdq  xmm0, [rbx + 305419896]}
     */
    // Template#: 9495, Serial#: 10758
    public void punpcklqdq_r10758(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x6C, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklwd  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9496, Serial#: 7114
    public void punpcklwd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x61, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklwd  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9497, Serial#: 7123
    public void punpcklwd_r7123(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x61, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklwd  xmm0, [rbx + 18]}
     */
    // Template#: 9498, Serial#: 7113
    public void punpcklwd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x61, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklwd  xmm0, [rbx + 18]}
     */
    // Template#: 9499, Serial#: 7122
    public void punpcklwd_r7122(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x61, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklwd  xmm0, rbx[rsi * 4]}
     */
    // Template#: 9500, Serial#: 7110
    public void punpcklwd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x61, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklwd  xmm0, rbx[rsi * 4]}
     */
    // Template#: 9501, Serial#: 7119
    public void punpcklwd_r7119(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x61, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklwd  xmm0, [rbx]}
     */
    // Template#: 9502, Serial#: 7109
    public void punpcklwd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x61, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklwd  xmm0, [rbx]}
     */
    // Template#: 9503, Serial#: 7118
    public void punpcklwd_r7118(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x61, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklwd  xmm0, xmm0}
     */
    // Template#: 9504, Serial#: 7117
    public void punpcklwd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x61, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklwd  xmm0, xmm0}
     */
    // Template#: 9505, Serial#: 7126
    public void punpcklwd_r7126(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x61, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpcklwd  xmm0, [L1: +305419896]}
     */
    // Template#: 9506, Serial#: 7112
    public void rip_punpcklwd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x61, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpcklwd  xmm0, [L1: +305419896]}
     */
    // Template#: 9507, Serial#: 7121
    public void rip_punpcklwd_r7121(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x61, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklwd  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9508, Serial#: 7116
    public void punpcklwd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x61, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklwd  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9509, Serial#: 7125
    public void punpcklwd_r7125(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x61, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklwd  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9510, Serial#: 7111
    public void m_punpcklwd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x61, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklwd  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9511, Serial#: 7120
    public void m_punpcklwd_r7120(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x61, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklwd  xmm0, [rbx + 305419896]}
     */
    // Template#: 9512, Serial#: 7115
    public void punpcklwd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x61, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklwd  xmm0, [rbx + 305419896]}
     */
    // Template#: 9513, Serial#: 7124
    public void punpcklwd_r7124(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x61, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklwd  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9514, Serial#: 6907
    public void punpcklwd(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0x61, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklwd  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9515, Serial#: 6916
    public void punpcklwd_r6916(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0x61, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklwd  mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9516, Serial#: 6925
    public void punpcklwd_r6925(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0x61, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklwd  mm0, [rbx + 18]}
     */
    // Template#: 9517, Serial#: 6906
    public void punpcklwd(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0x61, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklwd  mm0, [rbx + 18]}
     */
    // Template#: 9518, Serial#: 6915
    public void punpcklwd_r6915(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0x61, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklwd  mm0, [rbx + 18]}
     */
    // Template#: 9519, Serial#: 6924
    public void punpcklwd_r6924(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0x61, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklwd  mm0, rbx[rsi * 4]}
     */
    // Template#: 9520, Serial#: 6903
    public void punpcklwd(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0x61, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklwd  mm0, rbx[rsi * 4]}
     */
    // Template#: 9521, Serial#: 6912
    public void punpcklwd_r6912(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0x61, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklwd  mm0, rbx[rsi * 4]}
     */
    // Template#: 9522, Serial#: 6921
    public void punpcklwd_r6921(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0x61, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklwd  mm0, [rbx]}
     */
    // Template#: 9523, Serial#: 6902
    public void punpcklwd(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0x61, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklwd  mm0, [rbx]}
     */
    // Template#: 9524, Serial#: 6911
    public void punpcklwd_r6911(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0x61, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklwd  mm0, [rbx]}
     */
    // Template#: 9525, Serial#: 6920
    public void punpcklwd_r6920(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0x61, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklwd  mm0, mm0}
     */
    // Template#: 9526, Serial#: 6910
    public void punpcklwd(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0x61, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklwd  mm0, mm0}
     */
    // Template#: 9527, Serial#: 6919
    public void punpcklwd_r6919(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0x61, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklwd  mm0, mm0}
     */
    // Template#: 9528, Serial#: 6928
    public void punpcklwd_r6928(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0x61, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpcklwd  mm0, [L1: +305419896]}
     */
    // Template#: 9529, Serial#: 6905
    public void rip_punpcklwd(MMXRegister destination, int rel32) {
        assemble0525((byte) 0x61, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpcklwd  mm0, [L1: +305419896]}
     */
    // Template#: 9530, Serial#: 6914
    public void rip_punpcklwd_r6914(MMXRegister destination, int rel32) {
        assemble0526((byte) 0x61, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code punpcklwd  mm0, [L1: +305419896]}
     */
    // Template#: 9531, Serial#: 6923
    public void rip_punpcklwd_r6923(MMXRegister destination, int rel32) {
        assemble0951((byte) 0x61, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklwd  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9532, Serial#: 6909
    public void punpcklwd(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0x61, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklwd  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9533, Serial#: 6918
    public void punpcklwd_r6918(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0x61, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklwd  mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9534, Serial#: 6927
    public void punpcklwd_r6927(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0x61, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklwd  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9535, Serial#: 6904
    public void m_punpcklwd(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0x61, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklwd  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9536, Serial#: 6913
    public void m_punpcklwd_r6913(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0x61, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code punpcklwd  mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9537, Serial#: 6922
    public void m_punpcklwd_r6922(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0x61, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklwd  mm0, [rbx + 305419896]}
     */
    // Template#: 9538, Serial#: 6908
    public void punpcklwd(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0x61, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklwd  mm0, [rbx + 305419896]}
     */
    // Template#: 9539, Serial#: 6917
    public void punpcklwd_r6917(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0x61, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code punpcklwd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code punpcklwd  mm0, [rbx + 305419896]}
     */
    // Template#: 9540, Serial#: 6926
    public void punpcklwd_r6926(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0x61, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code push  }
     * Example disassembly syntax: {@code push      fs}
     */
    // Template#: 9541, Serial#: 7732
    public void push_FS() {
        assemble0373((byte) 0xA0);
    }

    /**
     * Pseudo-external assembler syntax: {@code push  }
     * Example disassembly syntax: {@code push      fs}
     */
    // Template#: 9542, Serial#: 7733
    public void push_FS_r7733() {
        assemble0375((byte) 0xA0);
    }

    /**
     * Pseudo-external assembler syntax: {@code push  }
     * Example disassembly syntax: {@code push      gs}
     */
    // Template#: 9543, Serial#: 11246
    public void push_GS() {
        assemble0373((byte) 0xA8);
    }

    /**
     * Pseudo-external assembler syntax: {@code push  }
     * Example disassembly syntax: {@code push      gs}
     */
    // Template#: 9544, Serial#: 11247
    public void push_GS_r11247() {
        assemble0375((byte) 0xA8);
    }

    /**
     * Pseudo-external assembler syntax: {@code push  }<i>imm8</i>
     * Example disassembly syntax: {@code push      0x12}
     */
    // Template#: 9545, Serial#: 3606
    public void push(byte imm8) {
        assemble0001((byte) 0x6A, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code push  }<i>imm8</i>
     * Example disassembly syntax: {@code push      0x12}
     */
    // Template#: 9546, Serial#: 3607
    public void push_r3607(byte imm8) {
        assemble0003((byte) 0x6A, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code push  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code push      rbx[rsi * 4 + 18]}
     */
    // Template#: 9547, Serial#: 5446
    public void push(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xFF, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code push  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code push      rbx[rsi * 4 + 18]}
     */
    // Template#: 9548, Serial#: 5473
    public void push_r5473(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xFF, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code push  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code push      [rbx + 18]}
     */
    // Template#: 9549, Serial#: 5445
    public void push(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xFF, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code push  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code push      [rbx + 18]}
     */
    // Template#: 9550, Serial#: 5472
    public void push_r5472(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xFF, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code push  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code push      rbx[rsi * 4]}
     */
    // Template#: 9551, Serial#: 5438
    public void push(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xFF, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code push  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code push      rbx[rsi * 4]}
     */
    // Template#: 9552, Serial#: 5465
    public void push_r5465(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xFF, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code push  }<i>register</i>
     * Example disassembly syntax: {@code push      ax}
     */
    // Template#: 9553, Serial#: 458
    public void push(AMD64GeneralRegister16 register) {
        assemble1024((byte) 0x50, register);
    }

    /**
     * Pseudo-external assembler syntax: {@code push  }<i>destination</i>
     * Example disassembly syntax: {@code push      ax}
     */
    // Template#: 9554, Serial#: 5482
    public void push_r5482(AMD64GeneralRegister16 destination) {
        assemble0336((byte) 0xFF, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code push  }<i>register</i>
     * Example disassembly syntax: {@code push      rax}
     */
    // Template#: 9555, Serial#: 457
    public void push(AMD64GeneralRegister64 register) {
        assemble1026((byte) 0x50, register);
    }

    /**
     * Pseudo-external assembler syntax: {@code push  }<i>destination</i>
     * Example disassembly syntax: {@code push      rax}
     */
    // Template#: 9556, Serial#: 5455
    public void push_r5455(AMD64GeneralRegister64 destination) {
        assemble0337((byte) 0xFF, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code push  }<i>destination</i>
     * Example disassembly syntax: {@code push      [rbx]}
     */
    // Template#: 9557, Serial#: 5437
    public void push(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xFF, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code push  }<i>destination</i>
     * Example disassembly syntax: {@code push      [rbx]}
     */
    // Template#: 9558, Serial#: 5464
    public void push_r5464(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xFF, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code push  }<i>imm32</i>
     * Example disassembly syntax: {@code push      0x12345678}
     */
    // Template#: 9559, Serial#: 3577
    public void push(int imm32) {
        assemble0121((byte) 0x68, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code push  }<i>rel32</i>
     * Example disassembly syntax: {@code push      [L1: +305419896]}
     */
    // Template#: 9560, Serial#: 5440
    public void rip_push(int rel32) {
        assemble0341((byte) 0xFF, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code push  }<i>rel32</i>
     * Example disassembly syntax: {@code push      [L1: +305419896]}
     */
    // Template#: 9561, Serial#: 5467
    public void rip_push_r5467(int rel32) {
        assemble0342((byte) 0xFF, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code push  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code push      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9562, Serial#: 5452
    public void push(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xFF, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code push  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code push      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9563, Serial#: 5479
    public void push_r5479(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xFF, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code push  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code push      0x12345678[rsi * 4]}
     */
    // Template#: 9564, Serial#: 5439
    public void m_push(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xFF, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code push  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code push      0x12345678[rsi * 4]}
     */
    // Template#: 9565, Serial#: 5466
    public void m_push_r5466(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xFF, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code push  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code push      [rbx + 305419896]}
     */
    // Template#: 9566, Serial#: 5451
    public void push(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xFF, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code push  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code push      [rbx + 305419896]}
     */
    // Template#: 9567, Serial#: 5478
    public void push_r5478(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xFF, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code push  }<i>imm16</i>
     * Example disassembly syntax: {@code push      0x1234}
     */
    // Template#: 9568, Serial#: 3578
    public void push(short imm16) {
        assemble0171((byte) 0x68, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code pushfq  }
     * Example disassembly syntax: {@code pushfq  }
     */
    // Template#: 9569, Serial#: 3864
    public void pushfq() {
        assemble0208((byte) 0x9C);
    }

    /**
     * Pseudo-external assembler syntax: {@code pushfw  }
     * Example disassembly syntax: {@code pushfw  }
     */
    // Template#: 9570, Serial#: 3865
    public void pushfw() {
        assemble0210((byte) 0x9C);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pxor      xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9571, Serial#: 12433
    public void pxor(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0xEF, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pxor      xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9572, Serial#: 12442
    public void pxor_r12442(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0xEF, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pxor      xmm0, [rbx + 18]}
     */
    // Template#: 9573, Serial#: 12432
    public void pxor(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0xEF, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pxor      xmm0, [rbx + 18]}
     */
    // Template#: 9574, Serial#: 12441
    public void pxor_r12441(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0xEF, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pxor      xmm0, rbx[rsi * 4]}
     */
    // Template#: 9575, Serial#: 12429
    public void pxor(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0xEF, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pxor      xmm0, rbx[rsi * 4]}
     */
    // Template#: 9576, Serial#: 12438
    public void pxor_r12438(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0xEF, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pxor      xmm0, [rbx]}
     */
    // Template#: 9577, Serial#: 12428
    public void pxor(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0xEF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pxor      xmm0, [rbx]}
     */
    // Template#: 9578, Serial#: 12437
    public void pxor_r12437(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0xEF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pxor      xmm0, xmm0}
     */
    // Template#: 9579, Serial#: 12436
    public void pxor(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0xEF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pxor      xmm0, xmm0}
     */
    // Template#: 9580, Serial#: 12445
    public void pxor_r12445(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0xEF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pxor      xmm0, [L1: +305419896]}
     */
    // Template#: 9581, Serial#: 12431
    public void rip_pxor(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0xEF, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pxor      xmm0, [L1: +305419896]}
     */
    // Template#: 9582, Serial#: 12440
    public void rip_pxor_r12440(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0xEF, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pxor      xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9583, Serial#: 12435
    public void pxor(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0xEF, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pxor      xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9584, Serial#: 12444
    public void pxor_r12444(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0xEF, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pxor      xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9585, Serial#: 12430
    public void m_pxor(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0xEF, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pxor      xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9586, Serial#: 12439
    public void m_pxor_r12439(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0xEF, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pxor      xmm0, [rbx + 305419896]}
     */
    // Template#: 9587, Serial#: 12434
    public void pxor(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0xEF, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pxor      xmm0, [rbx + 305419896]}
     */
    // Template#: 9588, Serial#: 12443
    public void pxor_r12443(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0xEF, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pxor      mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9589, Serial#: 12280
    public void pxor(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0515((byte) 0xEF, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pxor      mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9590, Serial#: 12289
    public void pxor_r12289(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0516((byte) 0xEF, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pxor      mm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9591, Serial#: 12298
    public void pxor_r12298(MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0944((byte) 0xEF, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pxor      mm0, [rbx + 18]}
     */
    // Template#: 9592, Serial#: 12279
    public void pxor(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0517((byte) 0xEF, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pxor      mm0, [rbx + 18]}
     */
    // Template#: 9593, Serial#: 12288
    public void pxor_r12288(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0518((byte) 0xEF, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code pxor      mm0, [rbx + 18]}
     */
    // Template#: 9594, Serial#: 12297
    public void pxor_r12297(MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0945((byte) 0xEF, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pxor      mm0, rbx[rsi * 4]}
     */
    // Template#: 9595, Serial#: 12276
    public void pxor(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0519((byte) 0xEF, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pxor      mm0, rbx[rsi * 4]}
     */
    // Template#: 9596, Serial#: 12285
    public void pxor_r12285(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0520((byte) 0xEF, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pxor      mm0, rbx[rsi * 4]}
     */
    // Template#: 9597, Serial#: 12294
    public void pxor_r12294(MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0946((byte) 0xEF, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pxor      mm0, [rbx]}
     */
    // Template#: 9598, Serial#: 12275
    public void pxor(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0521((byte) 0xEF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pxor      mm0, [rbx]}
     */
    // Template#: 9599, Serial#: 12284
    public void pxor_r12284(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0522((byte) 0xEF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pxor      mm0, [rbx]}
     */
    // Template#: 9600, Serial#: 12293
    public void pxor_r12293(MMXRegister destination, AMD64IndirectRegister64 source) {
        assemble0947((byte) 0xEF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pxor      mm0, mm0}
     */
    // Template#: 9601, Serial#: 12283
    public void pxor(MMXRegister destination, MMXRegister source) {
        assemble0700((byte) 0xEF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pxor      mm0, mm0}
     */
    // Template#: 9602, Serial#: 12292
    public void pxor_r12292(MMXRegister destination, MMXRegister source) {
        assemble0701((byte) 0xEF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code pxor      mm0, mm0}
     */
    // Template#: 9603, Serial#: 12301
    public void pxor_r12301(MMXRegister destination, MMXRegister source) {
        assemble0702((byte) 0xEF, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pxor      mm0, [L1: +305419896]}
     */
    // Template#: 9604, Serial#: 12278
    public void rip_pxor(MMXRegister destination, int rel32) {
        assemble0525((byte) 0xEF, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pxor      mm0, [L1: +305419896]}
     */
    // Template#: 9605, Serial#: 12287
    public void rip_pxor_r12287(MMXRegister destination, int rel32) {
        assemble0526((byte) 0xEF, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code pxor      mm0, [L1: +305419896]}
     */
    // Template#: 9606, Serial#: 12296
    public void rip_pxor_r12296(MMXRegister destination, int rel32) {
        assemble0951((byte) 0xEF, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pxor      mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9607, Serial#: 12282
    public void pxor(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0527((byte) 0xEF, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pxor      mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9608, Serial#: 12291
    public void pxor_r12291(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0528((byte) 0xEF, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pxor      mm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9609, Serial#: 12300
    public void pxor_r12300(MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0952((byte) 0xEF, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pxor      mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9610, Serial#: 12277
    public void m_pxor(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0529((byte) 0xEF, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pxor      mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9611, Serial#: 12286
    public void m_pxor_r12286(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0530((byte) 0xEF, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code pxor      mm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9612, Serial#: 12295
    public void m_pxor_r12295(MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0953((byte) 0xEF, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pxor      mm0, [rbx + 305419896]}
     */
    // Template#: 9613, Serial#: 12281
    public void pxor(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0531((byte) 0xEF, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pxor      mm0, [rbx + 305419896]}
     */
    // Template#: 9614, Serial#: 12290
    public void pxor_r12290(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0532((byte) 0xEF, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code pxor  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code pxor      mm0, [rbx + 305419896]}
     */
    // Template#: 9615, Serial#: 12299
    public void pxor_r12299(MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0954((byte) 0xEF, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclb      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 9616, Serial#: 1813
    public void rclb___1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD0, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclb      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 9617, Serial#: 1885
    public void rclb___1_r1885(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD0, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclb      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 9618, Serial#: 1957
    public void rclb___1_r1957(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD0, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcll  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcll      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 9619, Serial#: 2029
    public void rcll___1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD1, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclq      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 9620, Serial#: 2101
    public void rclq___1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD1, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclw      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 9621, Serial#: 2173
    public void rclw___1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD1, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclb      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 9622, Serial#: 2245
    public void rclb___CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD2, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclb      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 9623, Serial#: 2317
    public void rclb___CL_r2317(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD2, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclb      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 9624, Serial#: 2389
    public void rclb___CL_r2389(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD2, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcll  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcll      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 9625, Serial#: 2461
    public void rcll___CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD3, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclq      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 9626, Serial#: 2533
    public void rclq___CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD3, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclw      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 9627, Serial#: 2605
    public void rclw___CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD3, (byte) 0x02, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 9628, Serial#: 1323
    public void rclb(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0xC0, (byte) 0x02, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 9629, Serial#: 1395
    public void rclb_r1395(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0xC0, (byte) 0x02, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 9630, Serial#: 1467
    public void rclb_r1467(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0xC0, (byte) 0x02, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcll  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcll      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 9631, Serial#: 1539
    public void rcll(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0xC1, (byte) 0x02, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclq      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 9632, Serial#: 1611
    public void rclq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0xC1, (byte) 0x02, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclw      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 9633, Serial#: 1683
    public void rclw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0xC1, (byte) 0x02, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rclb      [rbx + 18], 0x1}
     */
    // Template#: 9634, Serial#: 1812
    public void rclb___1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD0, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rclb      [rbx + 18], 0x1}
     */
    // Template#: 9635, Serial#: 1884
    public void rclb___1_r1884(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD0, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rclb      [rbx + 18], 0x1}
     */
    // Template#: 9636, Serial#: 1956
    public void rclb___1_r1956(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD0, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcll  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rcll      [rbx + 18], 0x1}
     */
    // Template#: 9637, Serial#: 2028
    public void rcll___1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD1, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rclq      [rbx + 18], 0x1}
     */
    // Template#: 9638, Serial#: 2100
    public void rclq___1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD1, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rclw      [rbx + 18], 0x1}
     */
    // Template#: 9639, Serial#: 2172
    public void rclw___1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD1, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rclb      [rbx + 18], cl}
     */
    // Template#: 9640, Serial#: 2244
    public void rclb___CL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD2, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rclb      [rbx + 18], cl}
     */
    // Template#: 9641, Serial#: 2316
    public void rclb___CL_r2316(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD2, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rclb      [rbx + 18], cl}
     */
    // Template#: 9642, Serial#: 2388
    public void rclb___CL_r2388(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD2, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcll  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rcll      [rbx + 18], cl}
     */
    // Template#: 9643, Serial#: 2460
    public void rcll___CL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD3, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rclq      [rbx + 18], cl}
     */
    // Template#: 9644, Serial#: 2532
    public void rclq___CL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD3, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rclw      [rbx + 18], cl}
     */
    // Template#: 9645, Serial#: 2604
    public void rclw___CL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD3, (byte) 0x02, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclb      [rbx + 18], 0x12}
     */
    // Template#: 9646, Serial#: 1322
    public void rclb(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0xC0, (byte) 0x02, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclb      [rbx + 18], 0x12}
     */
    // Template#: 9647, Serial#: 1394
    public void rclb_r1394(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0xC0, (byte) 0x02, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclb      [rbx + 18], 0x12}
     */
    // Template#: 9648, Serial#: 1466
    public void rclb_r1466(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0xC0, (byte) 0x02, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcll  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcll      [rbx + 18], 0x12}
     */
    // Template#: 9649, Serial#: 1538
    public void rcll(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0xC1, (byte) 0x02, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclq  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclq      [rbx + 18], 0x12}
     */
    // Template#: 9650, Serial#: 1610
    public void rclq(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0xC1, (byte) 0x02, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclw  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclw      [rbx + 18], 0x12}
     */
    // Template#: 9651, Serial#: 1682
    public void rclw(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0xC1, (byte) 0x02, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclb      rbx[rsi * 4], 0x1}
     */
    // Template#: 9652, Serial#: 1785
    public void rclb___1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD0, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclb      rbx[rsi * 4], 0x1}
     */
    // Template#: 9653, Serial#: 1857
    public void rclb___1_r1857(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD0, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclb      rbx[rsi * 4], 0x1}
     */
    // Template#: 9654, Serial#: 1929
    public void rclb___1_r1929(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD0, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcll  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcll      rbx[rsi * 4], 0x1}
     */
    // Template#: 9655, Serial#: 2001
    public void rcll___1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD1, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclq      rbx[rsi * 4], 0x1}
     */
    // Template#: 9656, Serial#: 2073
    public void rclq___1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD1, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclw      rbx[rsi * 4], 0x1}
     */
    // Template#: 9657, Serial#: 2145
    public void rclw___1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD1, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclb      rbx[rsi * 4], cl}
     */
    // Template#: 9658, Serial#: 2217
    public void rclb___CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD2, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclb      rbx[rsi * 4], cl}
     */
    // Template#: 9659, Serial#: 2289
    public void rclb___CL_r2289(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD2, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclb      rbx[rsi * 4], cl}
     */
    // Template#: 9660, Serial#: 2361
    public void rclb___CL_r2361(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD2, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcll  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcll      rbx[rsi * 4], cl}
     */
    // Template#: 9661, Serial#: 2433
    public void rcll___CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD3, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclq      rbx[rsi * 4], cl}
     */
    // Template#: 9662, Serial#: 2505
    public void rclq___CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD3, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclw      rbx[rsi * 4], cl}
     */
    // Template#: 9663, Serial#: 2577
    public void rclw___CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD3, (byte) 0x02, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclb      rbx[rsi * 4], 0x12}
     */
    // Template#: 9664, Serial#: 1295
    public void rclb(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0xC0, (byte) 0x02, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclb      rbx[rsi * 4], 0x12}
     */
    // Template#: 9665, Serial#: 1367
    public void rclb_r1367(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0xC0, (byte) 0x02, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclb      rbx[rsi * 4], 0x12}
     */
    // Template#: 9666, Serial#: 1439
    public void rclb_r1439(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0xC0, (byte) 0x02, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcll  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcll      rbx[rsi * 4], 0x12}
     */
    // Template#: 9667, Serial#: 1511
    public void rcll(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0xC1, (byte) 0x02, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclq      rbx[rsi * 4], 0x12}
     */
    // Template#: 9668, Serial#: 1583
    public void rclq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0xC1, (byte) 0x02, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclw  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclw      rbx[rsi * 4], 0x12}
     */
    // Template#: 9669, Serial#: 1655
    public void rclw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0xC1, (byte) 0x02, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclw  }<i>destination</i>
     * Example disassembly syntax: {@code rclw      ax, 0x1}
     */
    // Template#: 9670, Serial#: 2202
    public void rclw___1(AMD64GeneralRegister16 destination) {
        assemble0336((byte) 0xD1, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclw  }<i>destination</i>
     * Example disassembly syntax: {@code rclw      ax, cl}
     */
    // Template#: 9671, Serial#: 2634
    public void rclw___CL(AMD64GeneralRegister16 destination) {
        assemble0336((byte) 0xD3, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclw      ax, 0x12}
     */
    // Template#: 9672, Serial#: 1712
    public void rclw(AMD64GeneralRegister16 destination, byte imm8) {
        assemble0040((byte) 0xC1, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcll  }<i>destination</i>
     * Example disassembly syntax: {@code rcll      eax, 0x1}
     */
    // Template#: 9673, Serial#: 2058
    public void rcll___1(AMD64GeneralRegister32 destination) {
        assemble0576((byte) 0xD1, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcll  }<i>destination</i>
     * Example disassembly syntax: {@code rcll      eax, cl}
     */
    // Template#: 9674, Serial#: 2490
    public void rcll___CL(AMD64GeneralRegister32 destination) {
        assemble0576((byte) 0xD3, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcll  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcll      eax, 0x12}
     */
    // Template#: 9675, Serial#: 1568
    public void rcll(AMD64GeneralRegister32 destination, byte imm8) {
        assemble0052((byte) 0xC1, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclq  }<i>destination</i>
     * Example disassembly syntax: {@code rclq      rax, 0x1}
     */
    // Template#: 9676, Serial#: 2130
    public void rclq___1(AMD64GeneralRegister64 destination) {
        assemble0577((byte) 0xD1, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclq  }<i>destination</i>
     * Example disassembly syntax: {@code rclq      rax, cl}
     */
    // Template#: 9677, Serial#: 2562
    public void rclq___CL(AMD64GeneralRegister64 destination) {
        assemble0577((byte) 0xD3, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclq      rax, 0x12}
     */
    // Template#: 9678, Serial#: 1640
    public void rclq(AMD64GeneralRegister64 destination, byte imm8) {
        assemble0064((byte) 0xC1, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>destination</i>
     * Example disassembly syntax: {@code rclb      al, 0x1}
     */
    // Template#: 9679, Serial#: 1842
    public void rclb___1(AMD64GeneralRegister8 destination) {
        assemble0578((byte) 0xD0, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>destination</i>
     * Example disassembly syntax: {@code rclb      al, 0x1}
     */
    // Template#: 9680, Serial#: 1914
    public void rclb___1_r1914(AMD64GeneralRegister8 destination) {
        assemble0579((byte) 0xD0, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>destination</i>
     * Example disassembly syntax: {@code rclb      al, 0x1}
     */
    // Template#: 9681, Serial#: 1986
    public void rclb___1_r1986(AMD64GeneralRegister8 destination) {
        assemble0580((byte) 0xD0, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>destination</i>
     * Example disassembly syntax: {@code rclb      al, cl}
     */
    // Template#: 9682, Serial#: 2274
    public void rclb___CL(AMD64GeneralRegister8 destination) {
        assemble0578((byte) 0xD2, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>destination</i>
     * Example disassembly syntax: {@code rclb      al, cl}
     */
    // Template#: 9683, Serial#: 2346
    public void rclb___CL_r2346(AMD64GeneralRegister8 destination) {
        assemble0579((byte) 0xD2, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>destination</i>
     * Example disassembly syntax: {@code rclb      al, cl}
     */
    // Template#: 9684, Serial#: 2418
    public void rclb___CL_r2418(AMD64GeneralRegister8 destination) {
        assemble0580((byte) 0xD2, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclb      al, 0x12}
     */
    // Template#: 9685, Serial#: 1352
    public void rclb(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0076((byte) 0xC0, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclb      al, 0x12}
     */
    // Template#: 9686, Serial#: 1424
    public void rclb_r1424(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0077((byte) 0xC0, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclb      al, 0x12}
     */
    // Template#: 9687, Serial#: 1496
    public void rclb_r1496(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0078((byte) 0xC0, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>destination</i>
     * Example disassembly syntax: {@code rclb      [rbx], 0x1}
     */
    // Template#: 9688, Serial#: 1784
    public void rclb___1(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD0, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>destination</i>
     * Example disassembly syntax: {@code rclb      [rbx], 0x1}
     */
    // Template#: 9689, Serial#: 1856
    public void rclb___1_r1856(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD0, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>destination</i>
     * Example disassembly syntax: {@code rclb      [rbx], 0x1}
     */
    // Template#: 9690, Serial#: 1928
    public void rclb___1_r1928(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD0, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcll  }<i>destination</i>
     * Example disassembly syntax: {@code rcll      [rbx], 0x1}
     */
    // Template#: 9691, Serial#: 2000
    public void rcll___1(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD1, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclq  }<i>destination</i>
     * Example disassembly syntax: {@code rclq      [rbx], 0x1}
     */
    // Template#: 9692, Serial#: 2072
    public void rclq___1(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD1, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclw  }<i>destination</i>
     * Example disassembly syntax: {@code rclw      [rbx], 0x1}
     */
    // Template#: 9693, Serial#: 2144
    public void rclw___1(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD1, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>destination</i>
     * Example disassembly syntax: {@code rclb      [rbx], cl}
     */
    // Template#: 9694, Serial#: 2216
    public void rclb___CL(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD2, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>destination</i>
     * Example disassembly syntax: {@code rclb      [rbx], cl}
     */
    // Template#: 9695, Serial#: 2288
    public void rclb___CL_r2288(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD2, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>destination</i>
     * Example disassembly syntax: {@code rclb      [rbx], cl}
     */
    // Template#: 9696, Serial#: 2360
    public void rclb___CL_r2360(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD2, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcll  }<i>destination</i>
     * Example disassembly syntax: {@code rcll      [rbx], cl}
     */
    // Template#: 9697, Serial#: 2432
    public void rcll___CL(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD3, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclq  }<i>destination</i>
     * Example disassembly syntax: {@code rclq      [rbx], cl}
     */
    // Template#: 9698, Serial#: 2504
    public void rclq___CL(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD3, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclw  }<i>destination</i>
     * Example disassembly syntax: {@code rclw      [rbx], cl}
     */
    // Template#: 9699, Serial#: 2576
    public void rclw___CL(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD3, (byte) 0x02, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclb      [rbx], 0x12}
     */
    // Template#: 9700, Serial#: 1294
    public void rclb(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0xC0, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclb      [rbx], 0x12}
     */
    // Template#: 9701, Serial#: 1366
    public void rclb_r1366(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0xC0, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclb      [rbx], 0x12}
     */
    // Template#: 9702, Serial#: 1438
    public void rclb_r1438(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0xC0, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcll  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcll      [rbx], 0x12}
     */
    // Template#: 9703, Serial#: 1510
    public void rcll(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0xC1, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclq      [rbx], 0x12}
     */
    // Template#: 9704, Serial#: 1582
    public void rclq(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0xC1, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclw      [rbx], 0x12}
     */
    // Template#: 9705, Serial#: 1654
    public void rclw(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0xC1, (byte) 0x02, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>rel32</i>
     * Example disassembly syntax: {@code rclb      [L1: +305419896], 0x1}
     */
    // Template#: 9706, Serial#: 1787
    public void rip_rclb___1(int rel32) {
        assemble0341((byte) 0xD0, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>rel32</i>
     * Example disassembly syntax: {@code rclb      [L1: +305419896], 0x1}
     */
    // Template#: 9707, Serial#: 1859
    public void rip_rclb___1_r1859(int rel32) {
        assemble0582((byte) 0xD0, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>rel32</i>
     * Example disassembly syntax: {@code rclb      [L1: +305419896], 0x1}
     */
    // Template#: 9708, Serial#: 1931
    public void rip_rclb___1_r1931(int rel32) {
        assemble0342((byte) 0xD0, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcll  }<i>rel32</i>
     * Example disassembly syntax: {@code rcll      [L1: +305419896], 0x1}
     */
    // Template#: 9709, Serial#: 2003
    public void rip_rcll___1(int rel32) {
        assemble0341((byte) 0xD1, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclq  }<i>rel32</i>
     * Example disassembly syntax: {@code rclq      [L1: +305419896], 0x1}
     */
    // Template#: 9710, Serial#: 2075
    public void rip_rclq___1(int rel32) {
        assemble0582((byte) 0xD1, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclw  }<i>rel32</i>
     * Example disassembly syntax: {@code rclw      [L1: +305419896], 0x1}
     */
    // Template#: 9711, Serial#: 2147
    public void rip_rclw___1(int rel32) {
        assemble0342((byte) 0xD1, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>rel32</i>
     * Example disassembly syntax: {@code rclb      [L1: +305419896], cl}
     */
    // Template#: 9712, Serial#: 2219
    public void rip_rclb___CL(int rel32) {
        assemble0341((byte) 0xD2, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>rel32</i>
     * Example disassembly syntax: {@code rclb      [L1: +305419896], cl}
     */
    // Template#: 9713, Serial#: 2291
    public void rip_rclb___CL_r2291(int rel32) {
        assemble0582((byte) 0xD2, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>rel32</i>
     * Example disassembly syntax: {@code rclb      [L1: +305419896], cl}
     */
    // Template#: 9714, Serial#: 2363
    public void rip_rclb___CL_r2363(int rel32) {
        assemble0342((byte) 0xD2, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcll  }<i>rel32</i>
     * Example disassembly syntax: {@code rcll      [L1: +305419896], cl}
     */
    // Template#: 9715, Serial#: 2435
    public void rip_rcll___CL(int rel32) {
        assemble0341((byte) 0xD3, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclq  }<i>rel32</i>
     * Example disassembly syntax: {@code rclq      [L1: +305419896], cl}
     */
    // Template#: 9716, Serial#: 2507
    public void rip_rclq___CL(int rel32) {
        assemble0582((byte) 0xD3, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclw  }<i>rel32</i>
     * Example disassembly syntax: {@code rclw      [L1: +305419896], cl}
     */
    // Template#: 9717, Serial#: 2579
    public void rip_rclw___CL(int rel32) {
        assemble0342((byte) 0xD3, (byte) 0x02, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclb      [L1: +305419896], 0x12}
     */
    // Template#: 9718, Serial#: 1297
    public void rip_rclb(int rel32, byte imm8) {
        assemble0123((byte) 0xC0, (byte) 0x02, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclb      [L1: +305419896], 0x12}
     */
    // Template#: 9719, Serial#: 1369
    public void rip_rclb_r1369(int rel32, byte imm8) {
        assemble0124((byte) 0xC0, (byte) 0x02, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclb      [L1: +305419896], 0x12}
     */
    // Template#: 9720, Serial#: 1441
    public void rip_rclb_r1441(int rel32, byte imm8) {
        assemble0125((byte) 0xC0, (byte) 0x02, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcll  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcll      [L1: +305419896], 0x12}
     */
    // Template#: 9721, Serial#: 1513
    public void rip_rcll(int rel32, byte imm8) {
        assemble0123((byte) 0xC1, (byte) 0x02, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclq  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclq      [L1: +305419896], 0x12}
     */
    // Template#: 9722, Serial#: 1585
    public void rip_rclq(int rel32, byte imm8) {
        assemble0124((byte) 0xC1, (byte) 0x02, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclw  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclw      [L1: +305419896], 0x12}
     */
    // Template#: 9723, Serial#: 1657
    public void rip_rclw(int rel32, byte imm8) {
        assemble0125((byte) 0xC1, (byte) 0x02, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclb      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 9724, Serial#: 1829
    public void rclb___1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD0, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclb      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 9725, Serial#: 1901
    public void rclb___1_r1901(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD0, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclb      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 9726, Serial#: 1973
    public void rclb___1_r1973(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD0, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcll  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcll      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 9727, Serial#: 2045
    public void rcll___1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD1, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclq      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 9728, Serial#: 2117
    public void rclq___1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD1, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclw      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 9729, Serial#: 2189
    public void rclw___1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD1, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclb      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 9730, Serial#: 2261
    public void rclb___CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD2, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclb      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 9731, Serial#: 2333
    public void rclb___CL_r2333(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD2, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclb      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 9732, Serial#: 2405
    public void rclb___CL_r2405(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD2, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcll  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcll      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 9733, Serial#: 2477
    public void rcll___CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD3, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclq      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 9734, Serial#: 2549
    public void rclq___CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD3, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclw      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 9735, Serial#: 2621
    public void rclw___CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD3, (byte) 0x02, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 9736, Serial#: 1339
    public void rclb(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0xC0, (byte) 0x02, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 9737, Serial#: 1411
    public void rclb_r1411(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0xC0, (byte) 0x02, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 9738, Serial#: 1483
    public void rclb_r1483(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0xC0, (byte) 0x02, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcll  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcll      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 9739, Serial#: 1555
    public void rcll(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0xC1, (byte) 0x02, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclq      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 9740, Serial#: 1627
    public void rclq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0xC1, (byte) 0x02, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclw      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 9741, Serial#: 1699
    public void rclw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0xC1, (byte) 0x02, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclb      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 9742, Serial#: 1786
    public void m_rclb___1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD0, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclb      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 9743, Serial#: 1858
    public void m_rclb___1_r1858(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD0, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclb      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 9744, Serial#: 1930
    public void m_rclb___1_r1930(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD0, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcll  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcll      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 9745, Serial#: 2002
    public void m_rcll___1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD1, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclq      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 9746, Serial#: 2074
    public void m_rclq___1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD1, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclw      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 9747, Serial#: 2146
    public void m_rclw___1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD1, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclb      0x12345678[rsi * 4], cl}
     */
    // Template#: 9748, Serial#: 2218
    public void m_rclb___CL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD2, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclb      0x12345678[rsi * 4], cl}
     */
    // Template#: 9749, Serial#: 2290
    public void m_rclb___CL_r2290(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD2, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclb      0x12345678[rsi * 4], cl}
     */
    // Template#: 9750, Serial#: 2362
    public void m_rclb___CL_r2362(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD2, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcll  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcll      0x12345678[rsi * 4], cl}
     */
    // Template#: 9751, Serial#: 2434
    public void m_rcll___CL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD3, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclq      0x12345678[rsi * 4], cl}
     */
    // Template#: 9752, Serial#: 2506
    public void m_rclq___CL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD3, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rclw      0x12345678[rsi * 4], cl}
     */
    // Template#: 9753, Serial#: 2578
    public void m_rclw___CL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD3, (byte) 0x02, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 9754, Serial#: 1296
    public void m_rclb(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0xC0, (byte) 0x02, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 9755, Serial#: 1368
    public void m_rclb_r1368(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0xC0, (byte) 0x02, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 9756, Serial#: 1440
    public void m_rclb_r1440(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0xC0, (byte) 0x02, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcll  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcll      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 9757, Serial#: 1512
    public void m_rcll(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0xC1, (byte) 0x02, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclq      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 9758, Serial#: 1584
    public void m_rclq(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0xC1, (byte) 0x02, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclw  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclw      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 9759, Serial#: 1656
    public void m_rclw(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0xC1, (byte) 0x02, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rclb      [rbx + 305419896], 0x1}
     */
    // Template#: 9760, Serial#: 1828
    public void rclb___1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD0, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rclb      [rbx + 305419896], 0x1}
     */
    // Template#: 9761, Serial#: 1900
    public void rclb___1_r1900(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD0, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rclb      [rbx + 305419896], 0x1}
     */
    // Template#: 9762, Serial#: 1972
    public void rclb___1_r1972(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD0, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcll  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rcll      [rbx + 305419896], 0x1}
     */
    // Template#: 9763, Serial#: 2044
    public void rcll___1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD1, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rclq      [rbx + 305419896], 0x1}
     */
    // Template#: 9764, Serial#: 2116
    public void rclq___1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD1, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rclw      [rbx + 305419896], 0x1}
     */
    // Template#: 9765, Serial#: 2188
    public void rclw___1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD1, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rclb      [rbx + 305419896], cl}
     */
    // Template#: 9766, Serial#: 2260
    public void rclb___CL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD2, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rclb      [rbx + 305419896], cl}
     */
    // Template#: 9767, Serial#: 2332
    public void rclb___CL_r2332(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD2, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rclb      [rbx + 305419896], cl}
     */
    // Template#: 9768, Serial#: 2404
    public void rclb___CL_r2404(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD2, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcll  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rcll      [rbx + 305419896], cl}
     */
    // Template#: 9769, Serial#: 2476
    public void rcll___CL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD3, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rclq      [rbx + 305419896], cl}
     */
    // Template#: 9770, Serial#: 2548
    public void rclq___CL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD3, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rclw      [rbx + 305419896], cl}
     */
    // Template#: 9771, Serial#: 2620
    public void rclw___CL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD3, (byte) 0x02, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclb      [rbx + 305419896], 0x12}
     */
    // Template#: 9772, Serial#: 1338
    public void rclb(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0xC0, (byte) 0x02, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclb      [rbx + 305419896], 0x12}
     */
    // Template#: 9773, Serial#: 1410
    public void rclb_r1410(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0xC0, (byte) 0x02, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclb      [rbx + 305419896], 0x12}
     */
    // Template#: 9774, Serial#: 1482
    public void rclb_r1482(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0xC0, (byte) 0x02, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcll  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcll      [rbx + 305419896], 0x12}
     */
    // Template#: 9775, Serial#: 1554
    public void rcll(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0xC1, (byte) 0x02, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclq  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclq      [rbx + 305419896], 0x12}
     */
    // Template#: 9776, Serial#: 1626
    public void rclq(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0xC1, (byte) 0x02, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rclw  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rclw      [rbx + 305419896], 0x12}
     */
    // Template#: 9777, Serial#: 1698
    public void rclw(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0xC1, (byte) 0x02, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcpps     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9778, Serial#: 6625
    public void rcpps(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0190((byte) 0x53, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcpps     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9779, Serial#: 6634
    public void rcpps_r6634(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0191((byte) 0x53, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code rcpps     xmm0, [rbx + 18]}
     */
    // Template#: 9780, Serial#: 6624
    public void rcpps(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0192((byte) 0x53, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code rcpps     xmm0, [rbx + 18]}
     */
    // Template#: 9781, Serial#: 6633
    public void rcpps_r6633(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0193((byte) 0x53, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcpps     xmm0, rbx[rsi * 4]}
     */
    // Template#: 9782, Serial#: 6621
    public void rcpps(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0194((byte) 0x53, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcpps     xmm0, rbx[rsi * 4]}
     */
    // Template#: 9783, Serial#: 6630
    public void rcpps_r6630(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0195((byte) 0x53, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code rcpps     xmm0, [rbx]}
     */
    // Template#: 9784, Serial#: 6620
    public void rcpps(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0196((byte) 0x53, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code rcpps     xmm0, [rbx]}
     */
    // Template#: 9785, Serial#: 6629
    public void rcpps_r6629(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0197((byte) 0x53, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code rcpps     xmm0, xmm0}
     */
    // Template#: 9786, Serial#: 6628
    public void rcpps(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0198((byte) 0x53, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code rcpps     xmm0, xmm0}
     */
    // Template#: 9787, Serial#: 6637
    public void rcpps_r6637(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0199((byte) 0x53, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code rcpps     xmm0, [L1: +305419896]}
     */
    // Template#: 9788, Serial#: 6623
    public void rip_rcpps(AMD64XMMRegister destination, int rel32) {
        assemble0200((byte) 0x53, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code rcpps     xmm0, [L1: +305419896]}
     */
    // Template#: 9789, Serial#: 6632
    public void rip_rcpps_r6632(AMD64XMMRegister destination, int rel32) {
        assemble0201((byte) 0x53, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcpps     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9790, Serial#: 6627
    public void rcpps(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0202((byte) 0x53, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcpps     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9791, Serial#: 6636
    public void rcpps_r6636(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0203((byte) 0x53, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcpps     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9792, Serial#: 6622
    public void m_rcpps(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0204((byte) 0x53, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcpps     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9793, Serial#: 6631
    public void m_rcpps_r6631(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0205((byte) 0x53, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code rcpps     xmm0, [rbx + 305419896]}
     */
    // Template#: 9794, Serial#: 6626
    public void rcpps(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0206((byte) 0x53, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code rcpps     xmm0, [rbx + 305419896]}
     */
    // Template#: 9795, Serial#: 6635
    public void rcpps_r6635(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0207((byte) 0x53, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcpss     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9796, Serial#: 6862
    public void rcpss(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0229((byte) 0x53, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcpss     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 9797, Serial#: 6871
    public void rcpss_r6871(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0230((byte) 0x53, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpss  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code rcpss     xmm0, [rbx + 18]}
     */
    // Template#: 9798, Serial#: 6861
    public void rcpss(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0231((byte) 0x53, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpss  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code rcpss     xmm0, [rbx + 18]}
     */
    // Template#: 9799, Serial#: 6870
    public void rcpss_r6870(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0232((byte) 0x53, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcpss     xmm0, rbx[rsi * 4]}
     */
    // Template#: 9800, Serial#: 6858
    public void rcpss(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0233((byte) 0x53, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcpss     xmm0, rbx[rsi * 4]}
     */
    // Template#: 9801, Serial#: 6867
    public void rcpss_r6867(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0234((byte) 0x53, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code rcpss     xmm0, [rbx]}
     */
    // Template#: 9802, Serial#: 6857
    public void rcpss(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0235((byte) 0x53, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code rcpss     xmm0, [rbx]}
     */
    // Template#: 9803, Serial#: 6866
    public void rcpss_r6866(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0236((byte) 0x53, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code rcpss     xmm0, xmm0}
     */
    // Template#: 9804, Serial#: 6865
    public void rcpss(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0237((byte) 0x53, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code rcpss     xmm0, xmm0}
     */
    // Template#: 9805, Serial#: 6874
    public void rcpss_r6874(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0238((byte) 0x53, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpss  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code rcpss     xmm0, [L1: +305419896]}
     */
    // Template#: 9806, Serial#: 6860
    public void rip_rcpss(AMD64XMMRegister destination, int rel32) {
        assemble0239((byte) 0x53, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpss  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code rcpss     xmm0, [L1: +305419896]}
     */
    // Template#: 9807, Serial#: 6869
    public void rip_rcpss_r6869(AMD64XMMRegister destination, int rel32) {
        assemble0240((byte) 0x53, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcpss     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9808, Serial#: 6864
    public void rcpss(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0241((byte) 0x53, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcpss     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 9809, Serial#: 6873
    public void rcpss_r6873(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0242((byte) 0x53, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcpss     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9810, Serial#: 6859
    public void m_rcpss(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0243((byte) 0x53, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcpss     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 9811, Serial#: 6868
    public void m_rcpss_r6868(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0244((byte) 0x53, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpss  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code rcpss     xmm0, [rbx + 305419896]}
     */
    // Template#: 9812, Serial#: 6863
    public void rcpss(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0245((byte) 0x53, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcpss  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code rcpss     xmm0, [rbx + 305419896]}
     */
    // Template#: 9813, Serial#: 6872
    public void rcpss_r6872(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0246((byte) 0x53, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrb      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 9814, Serial#: 1815
    public void rcrb___1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD0, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrb      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 9815, Serial#: 1887
    public void rcrb___1_r1887(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD0, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrb      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 9816, Serial#: 1959
    public void rcrb___1_r1959(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD0, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrl      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 9817, Serial#: 2031
    public void rcrl___1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD1, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrq      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 9818, Serial#: 2103
    public void rcrq___1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD1, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrw      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 9819, Serial#: 2175
    public void rcrw___1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD1, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrb      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 9820, Serial#: 2247
    public void rcrb___CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD2, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrb      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 9821, Serial#: 2319
    public void rcrb___CL_r2319(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD2, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrb      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 9822, Serial#: 2391
    public void rcrb___CL_r2391(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD2, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrl      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 9823, Serial#: 2463
    public void rcrl___CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD3, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrq      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 9824, Serial#: 2535
    public void rcrq___CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD3, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrw      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 9825, Serial#: 2607
    public void rcrw___CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD3, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 9826, Serial#: 1325
    public void rcrb(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0xC0, (byte) 0x03, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 9827, Serial#: 1397
    public void rcrb_r1397(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0xC0, (byte) 0x03, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 9828, Serial#: 1469
    public void rcrb_r1469(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0xC0, (byte) 0x03, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrl      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 9829, Serial#: 1541
    public void rcrl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0xC1, (byte) 0x03, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrq      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 9830, Serial#: 1613
    public void rcrq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0xC1, (byte) 0x03, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrw      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 9831, Serial#: 1685
    public void rcrw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0xC1, (byte) 0x03, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rcrb      [rbx + 18], 0x1}
     */
    // Template#: 9832, Serial#: 1814
    public void rcrb___1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD0, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rcrb      [rbx + 18], 0x1}
     */
    // Template#: 9833, Serial#: 1886
    public void rcrb___1_r1886(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD0, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rcrb      [rbx + 18], 0x1}
     */
    // Template#: 9834, Serial#: 1958
    public void rcrb___1_r1958(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD0, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rcrl      [rbx + 18], 0x1}
     */
    // Template#: 9835, Serial#: 2030
    public void rcrl___1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD1, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rcrq      [rbx + 18], 0x1}
     */
    // Template#: 9836, Serial#: 2102
    public void rcrq___1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD1, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rcrw      [rbx + 18], 0x1}
     */
    // Template#: 9837, Serial#: 2174
    public void rcrw___1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD1, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rcrb      [rbx + 18], cl}
     */
    // Template#: 9838, Serial#: 2246
    public void rcrb___CL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD2, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rcrb      [rbx + 18], cl}
     */
    // Template#: 9839, Serial#: 2318
    public void rcrb___CL_r2318(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD2, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rcrb      [rbx + 18], cl}
     */
    // Template#: 9840, Serial#: 2390
    public void rcrb___CL_r2390(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD2, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rcrl      [rbx + 18], cl}
     */
    // Template#: 9841, Serial#: 2462
    public void rcrl___CL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD3, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rcrq      [rbx + 18], cl}
     */
    // Template#: 9842, Serial#: 2534
    public void rcrq___CL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD3, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rcrw      [rbx + 18], cl}
     */
    // Template#: 9843, Serial#: 2606
    public void rcrw___CL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD3, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrb      [rbx + 18], 0x12}
     */
    // Template#: 9844, Serial#: 1324
    public void rcrb(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0xC0, (byte) 0x03, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrb      [rbx + 18], 0x12}
     */
    // Template#: 9845, Serial#: 1396
    public void rcrb_r1396(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0xC0, (byte) 0x03, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrb      [rbx + 18], 0x12}
     */
    // Template#: 9846, Serial#: 1468
    public void rcrb_r1468(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0xC0, (byte) 0x03, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrl  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrl      [rbx + 18], 0x12}
     */
    // Template#: 9847, Serial#: 1540
    public void rcrl(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0xC1, (byte) 0x03, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrq  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrq      [rbx + 18], 0x12}
     */
    // Template#: 9848, Serial#: 1612
    public void rcrq(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0xC1, (byte) 0x03, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrw  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrw      [rbx + 18], 0x12}
     */
    // Template#: 9849, Serial#: 1684
    public void rcrw(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0xC1, (byte) 0x03, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrb      rbx[rsi * 4], 0x1}
     */
    // Template#: 9850, Serial#: 1789
    public void rcrb___1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD0, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrb      rbx[rsi * 4], 0x1}
     */
    // Template#: 9851, Serial#: 1861
    public void rcrb___1_r1861(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD0, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrb      rbx[rsi * 4], 0x1}
     */
    // Template#: 9852, Serial#: 1933
    public void rcrb___1_r1933(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD0, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrl      rbx[rsi * 4], 0x1}
     */
    // Template#: 9853, Serial#: 2005
    public void rcrl___1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD1, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrq      rbx[rsi * 4], 0x1}
     */
    // Template#: 9854, Serial#: 2077
    public void rcrq___1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD1, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrw      rbx[rsi * 4], 0x1}
     */
    // Template#: 9855, Serial#: 2149
    public void rcrw___1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD1, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrb      rbx[rsi * 4], cl}
     */
    // Template#: 9856, Serial#: 2221
    public void rcrb___CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD2, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrb      rbx[rsi * 4], cl}
     */
    // Template#: 9857, Serial#: 2293
    public void rcrb___CL_r2293(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD2, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrb      rbx[rsi * 4], cl}
     */
    // Template#: 9858, Serial#: 2365
    public void rcrb___CL_r2365(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD2, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrl      rbx[rsi * 4], cl}
     */
    // Template#: 9859, Serial#: 2437
    public void rcrl___CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD3, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrq      rbx[rsi * 4], cl}
     */
    // Template#: 9860, Serial#: 2509
    public void rcrq___CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD3, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrw      rbx[rsi * 4], cl}
     */
    // Template#: 9861, Serial#: 2581
    public void rcrw___CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD3, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrb      rbx[rsi * 4], 0x12}
     */
    // Template#: 9862, Serial#: 1299
    public void rcrb(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0xC0, (byte) 0x03, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrb      rbx[rsi * 4], 0x12}
     */
    // Template#: 9863, Serial#: 1371
    public void rcrb_r1371(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0xC0, (byte) 0x03, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrb      rbx[rsi * 4], 0x12}
     */
    // Template#: 9864, Serial#: 1443
    public void rcrb_r1443(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0xC0, (byte) 0x03, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrl  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrl      rbx[rsi * 4], 0x12}
     */
    // Template#: 9865, Serial#: 1515
    public void rcrl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0xC1, (byte) 0x03, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrq      rbx[rsi * 4], 0x12}
     */
    // Template#: 9866, Serial#: 1587
    public void rcrq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0xC1, (byte) 0x03, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrw  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrw      rbx[rsi * 4], 0x12}
     */
    // Template#: 9867, Serial#: 1659
    public void rcrw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0xC1, (byte) 0x03, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrw  }<i>destination</i>
     * Example disassembly syntax: {@code rcrw      ax, 0x1}
     */
    // Template#: 9868, Serial#: 2203
    public void rcrw___1(AMD64GeneralRegister16 destination) {
        assemble0336((byte) 0xD1, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrw  }<i>destination</i>
     * Example disassembly syntax: {@code rcrw      ax, cl}
     */
    // Template#: 9869, Serial#: 2635
    public void rcrw___CL(AMD64GeneralRegister16 destination) {
        assemble0336((byte) 0xD3, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrw      ax, 0x12}
     */
    // Template#: 9870, Serial#: 1713
    public void rcrw(AMD64GeneralRegister16 destination, byte imm8) {
        assemble0040((byte) 0xC1, (byte) 0x03, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrl  }<i>destination</i>
     * Example disassembly syntax: {@code rcrl      eax, 0x1}
     */
    // Template#: 9871, Serial#: 2059
    public void rcrl___1(AMD64GeneralRegister32 destination) {
        assemble0576((byte) 0xD1, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrl  }<i>destination</i>
     * Example disassembly syntax: {@code rcrl      eax, cl}
     */
    // Template#: 9872, Serial#: 2491
    public void rcrl___CL(AMD64GeneralRegister32 destination) {
        assemble0576((byte) 0xD3, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrl  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrl      eax, 0x12}
     */
    // Template#: 9873, Serial#: 1569
    public void rcrl(AMD64GeneralRegister32 destination, byte imm8) {
        assemble0052((byte) 0xC1, (byte) 0x03, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrq  }<i>destination</i>
     * Example disassembly syntax: {@code rcrq      rax, 0x1}
     */
    // Template#: 9874, Serial#: 2131
    public void rcrq___1(AMD64GeneralRegister64 destination) {
        assemble0577((byte) 0xD1, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrq  }<i>destination</i>
     * Example disassembly syntax: {@code rcrq      rax, cl}
     */
    // Template#: 9875, Serial#: 2563
    public void rcrq___CL(AMD64GeneralRegister64 destination) {
        assemble0577((byte) 0xD3, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrq      rax, 0x12}
     */
    // Template#: 9876, Serial#: 1641
    public void rcrq(AMD64GeneralRegister64 destination, byte imm8) {
        assemble0064((byte) 0xC1, (byte) 0x03, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>destination</i>
     * Example disassembly syntax: {@code rcrb      al, 0x1}
     */
    // Template#: 9877, Serial#: 1843
    public void rcrb___1(AMD64GeneralRegister8 destination) {
        assemble0578((byte) 0xD0, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>destination</i>
     * Example disassembly syntax: {@code rcrb      al, 0x1}
     */
    // Template#: 9878, Serial#: 1915
    public void rcrb___1_r1915(AMD64GeneralRegister8 destination) {
        assemble0579((byte) 0xD0, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>destination</i>
     * Example disassembly syntax: {@code rcrb      al, 0x1}
     */
    // Template#: 9879, Serial#: 1987
    public void rcrb___1_r1987(AMD64GeneralRegister8 destination) {
        assemble0580((byte) 0xD0, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>destination</i>
     * Example disassembly syntax: {@code rcrb      al, cl}
     */
    // Template#: 9880, Serial#: 2275
    public void rcrb___CL(AMD64GeneralRegister8 destination) {
        assemble0578((byte) 0xD2, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>destination</i>
     * Example disassembly syntax: {@code rcrb      al, cl}
     */
    // Template#: 9881, Serial#: 2347
    public void rcrb___CL_r2347(AMD64GeneralRegister8 destination) {
        assemble0579((byte) 0xD2, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>destination</i>
     * Example disassembly syntax: {@code rcrb      al, cl}
     */
    // Template#: 9882, Serial#: 2419
    public void rcrb___CL_r2419(AMD64GeneralRegister8 destination) {
        assemble0580((byte) 0xD2, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrb      al, 0x12}
     */
    // Template#: 9883, Serial#: 1353
    public void rcrb(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0076((byte) 0xC0, (byte) 0x03, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrb      al, 0x12}
     */
    // Template#: 9884, Serial#: 1425
    public void rcrb_r1425(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0077((byte) 0xC0, (byte) 0x03, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrb      al, 0x12}
     */
    // Template#: 9885, Serial#: 1497
    public void rcrb_r1497(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0078((byte) 0xC0, (byte) 0x03, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>destination</i>
     * Example disassembly syntax: {@code rcrb      [rbx], 0x1}
     */
    // Template#: 9886, Serial#: 1788
    public void rcrb___1(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD0, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>destination</i>
     * Example disassembly syntax: {@code rcrb      [rbx], 0x1}
     */
    // Template#: 9887, Serial#: 1860
    public void rcrb___1_r1860(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD0, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>destination</i>
     * Example disassembly syntax: {@code rcrb      [rbx], 0x1}
     */
    // Template#: 9888, Serial#: 1932
    public void rcrb___1_r1932(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD0, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrl  }<i>destination</i>
     * Example disassembly syntax: {@code rcrl      [rbx], 0x1}
     */
    // Template#: 9889, Serial#: 2004
    public void rcrl___1(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD1, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrq  }<i>destination</i>
     * Example disassembly syntax: {@code rcrq      [rbx], 0x1}
     */
    // Template#: 9890, Serial#: 2076
    public void rcrq___1(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD1, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrw  }<i>destination</i>
     * Example disassembly syntax: {@code rcrw      [rbx], 0x1}
     */
    // Template#: 9891, Serial#: 2148
    public void rcrw___1(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD1, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>destination</i>
     * Example disassembly syntax: {@code rcrb      [rbx], cl}
     */
    // Template#: 9892, Serial#: 2220
    public void rcrb___CL(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD2, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>destination</i>
     * Example disassembly syntax: {@code rcrb      [rbx], cl}
     */
    // Template#: 9893, Serial#: 2292
    public void rcrb___CL_r2292(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD2, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>destination</i>
     * Example disassembly syntax: {@code rcrb      [rbx], cl}
     */
    // Template#: 9894, Serial#: 2364
    public void rcrb___CL_r2364(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD2, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrl  }<i>destination</i>
     * Example disassembly syntax: {@code rcrl      [rbx], cl}
     */
    // Template#: 9895, Serial#: 2436
    public void rcrl___CL(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD3, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrq  }<i>destination</i>
     * Example disassembly syntax: {@code rcrq      [rbx], cl}
     */
    // Template#: 9896, Serial#: 2508
    public void rcrq___CL(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD3, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrw  }<i>destination</i>
     * Example disassembly syntax: {@code rcrw      [rbx], cl}
     */
    // Template#: 9897, Serial#: 2580
    public void rcrw___CL(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD3, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrb      [rbx], 0x12}
     */
    // Template#: 9898, Serial#: 1298
    public void rcrb(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0xC0, (byte) 0x03, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrb      [rbx], 0x12}
     */
    // Template#: 9899, Serial#: 1370
    public void rcrb_r1370(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0xC0, (byte) 0x03, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrb      [rbx], 0x12}
     */
    // Template#: 9900, Serial#: 1442
    public void rcrb_r1442(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0xC0, (byte) 0x03, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrl  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrl      [rbx], 0x12}
     */
    // Template#: 9901, Serial#: 1514
    public void rcrl(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0xC1, (byte) 0x03, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrq      [rbx], 0x12}
     */
    // Template#: 9902, Serial#: 1586
    public void rcrq(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0xC1, (byte) 0x03, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrw      [rbx], 0x12}
     */
    // Template#: 9903, Serial#: 1658
    public void rcrw(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0xC1, (byte) 0x03, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>rel32</i>
     * Example disassembly syntax: {@code rcrb      [L1: +305419896], 0x1}
     */
    // Template#: 9904, Serial#: 1791
    public void rip_rcrb___1(int rel32) {
        assemble0341((byte) 0xD0, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>rel32</i>
     * Example disassembly syntax: {@code rcrb      [L1: +305419896], 0x1}
     */
    // Template#: 9905, Serial#: 1863
    public void rip_rcrb___1_r1863(int rel32) {
        assemble0582((byte) 0xD0, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>rel32</i>
     * Example disassembly syntax: {@code rcrb      [L1: +305419896], 0x1}
     */
    // Template#: 9906, Serial#: 1935
    public void rip_rcrb___1_r1935(int rel32) {
        assemble0342((byte) 0xD0, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrl  }<i>rel32</i>
     * Example disassembly syntax: {@code rcrl      [L1: +305419896], 0x1}
     */
    // Template#: 9907, Serial#: 2007
    public void rip_rcrl___1(int rel32) {
        assemble0341((byte) 0xD1, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrq  }<i>rel32</i>
     * Example disassembly syntax: {@code rcrq      [L1: +305419896], 0x1}
     */
    // Template#: 9908, Serial#: 2079
    public void rip_rcrq___1(int rel32) {
        assemble0582((byte) 0xD1, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrw  }<i>rel32</i>
     * Example disassembly syntax: {@code rcrw      [L1: +305419896], 0x1}
     */
    // Template#: 9909, Serial#: 2151
    public void rip_rcrw___1(int rel32) {
        assemble0342((byte) 0xD1, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>rel32</i>
     * Example disassembly syntax: {@code rcrb      [L1: +305419896], cl}
     */
    // Template#: 9910, Serial#: 2223
    public void rip_rcrb___CL(int rel32) {
        assemble0341((byte) 0xD2, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>rel32</i>
     * Example disassembly syntax: {@code rcrb      [L1: +305419896], cl}
     */
    // Template#: 9911, Serial#: 2295
    public void rip_rcrb___CL_r2295(int rel32) {
        assemble0582((byte) 0xD2, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>rel32</i>
     * Example disassembly syntax: {@code rcrb      [L1: +305419896], cl}
     */
    // Template#: 9912, Serial#: 2367
    public void rip_rcrb___CL_r2367(int rel32) {
        assemble0342((byte) 0xD2, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrl  }<i>rel32</i>
     * Example disassembly syntax: {@code rcrl      [L1: +305419896], cl}
     */
    // Template#: 9913, Serial#: 2439
    public void rip_rcrl___CL(int rel32) {
        assemble0341((byte) 0xD3, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrq  }<i>rel32</i>
     * Example disassembly syntax: {@code rcrq      [L1: +305419896], cl}
     */
    // Template#: 9914, Serial#: 2511
    public void rip_rcrq___CL(int rel32) {
        assemble0582((byte) 0xD3, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrw  }<i>rel32</i>
     * Example disassembly syntax: {@code rcrw      [L1: +305419896], cl}
     */
    // Template#: 9915, Serial#: 2583
    public void rip_rcrw___CL(int rel32) {
        assemble0342((byte) 0xD3, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrb      [L1: +305419896], 0x12}
     */
    // Template#: 9916, Serial#: 1301
    public void rip_rcrb(int rel32, byte imm8) {
        assemble0123((byte) 0xC0, (byte) 0x03, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrb      [L1: +305419896], 0x12}
     */
    // Template#: 9917, Serial#: 1373
    public void rip_rcrb_r1373(int rel32, byte imm8) {
        assemble0124((byte) 0xC0, (byte) 0x03, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrb      [L1: +305419896], 0x12}
     */
    // Template#: 9918, Serial#: 1445
    public void rip_rcrb_r1445(int rel32, byte imm8) {
        assemble0125((byte) 0xC0, (byte) 0x03, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrl  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrl      [L1: +305419896], 0x12}
     */
    // Template#: 9919, Serial#: 1517
    public void rip_rcrl(int rel32, byte imm8) {
        assemble0123((byte) 0xC1, (byte) 0x03, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrq  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrq      [L1: +305419896], 0x12}
     */
    // Template#: 9920, Serial#: 1589
    public void rip_rcrq(int rel32, byte imm8) {
        assemble0124((byte) 0xC1, (byte) 0x03, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrw  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrw      [L1: +305419896], 0x12}
     */
    // Template#: 9921, Serial#: 1661
    public void rip_rcrw(int rel32, byte imm8) {
        assemble0125((byte) 0xC1, (byte) 0x03, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrb      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 9922, Serial#: 1831
    public void rcrb___1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD0, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrb      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 9923, Serial#: 1903
    public void rcrb___1_r1903(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD0, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrb      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 9924, Serial#: 1975
    public void rcrb___1_r1975(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD0, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrl      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 9925, Serial#: 2047
    public void rcrl___1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD1, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrq      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 9926, Serial#: 2119
    public void rcrq___1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD1, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrw      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 9927, Serial#: 2191
    public void rcrw___1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD1, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrb      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 9928, Serial#: 2263
    public void rcrb___CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD2, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrb      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 9929, Serial#: 2335
    public void rcrb___CL_r2335(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD2, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrb      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 9930, Serial#: 2407
    public void rcrb___CL_r2407(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD2, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrl      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 9931, Serial#: 2479
    public void rcrl___CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD3, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrq      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 9932, Serial#: 2551
    public void rcrq___CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD3, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrw      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 9933, Serial#: 2623
    public void rcrw___CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD3, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 9934, Serial#: 1341
    public void rcrb(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0xC0, (byte) 0x03, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 9935, Serial#: 1413
    public void rcrb_r1413(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0xC0, (byte) 0x03, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 9936, Serial#: 1485
    public void rcrb_r1485(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0xC0, (byte) 0x03, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrl      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 9937, Serial#: 1557
    public void rcrl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0xC1, (byte) 0x03, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrq      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 9938, Serial#: 1629
    public void rcrq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0xC1, (byte) 0x03, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrw      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 9939, Serial#: 1701
    public void rcrw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0xC1, (byte) 0x03, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrb      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 9940, Serial#: 1790
    public void m_rcrb___1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD0, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrb      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 9941, Serial#: 1862
    public void m_rcrb___1_r1862(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD0, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrb      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 9942, Serial#: 1934
    public void m_rcrb___1_r1934(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD0, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrl      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 9943, Serial#: 2006
    public void m_rcrl___1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD1, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrq      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 9944, Serial#: 2078
    public void m_rcrq___1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD1, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrw      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 9945, Serial#: 2150
    public void m_rcrw___1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD1, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrb      0x12345678[rsi * 4], cl}
     */
    // Template#: 9946, Serial#: 2222
    public void m_rcrb___CL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD2, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrb      0x12345678[rsi * 4], cl}
     */
    // Template#: 9947, Serial#: 2294
    public void m_rcrb___CL_r2294(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD2, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrb      0x12345678[rsi * 4], cl}
     */
    // Template#: 9948, Serial#: 2366
    public void m_rcrb___CL_r2366(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD2, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrl      0x12345678[rsi * 4], cl}
     */
    // Template#: 9949, Serial#: 2438
    public void m_rcrl___CL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD3, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrq      0x12345678[rsi * 4], cl}
     */
    // Template#: 9950, Serial#: 2510
    public void m_rcrq___CL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD3, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rcrw      0x12345678[rsi * 4], cl}
     */
    // Template#: 9951, Serial#: 2582
    public void m_rcrw___CL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD3, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 9952, Serial#: 1300
    public void m_rcrb(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0xC0, (byte) 0x03, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 9953, Serial#: 1372
    public void m_rcrb_r1372(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0xC0, (byte) 0x03, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 9954, Serial#: 1444
    public void m_rcrb_r1444(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0xC0, (byte) 0x03, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrl  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrl      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 9955, Serial#: 1516
    public void m_rcrl(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0xC1, (byte) 0x03, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrq      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 9956, Serial#: 1588
    public void m_rcrq(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0xC1, (byte) 0x03, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrw  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrw      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 9957, Serial#: 1660
    public void m_rcrw(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0xC1, (byte) 0x03, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rcrb      [rbx + 305419896], 0x1}
     */
    // Template#: 9958, Serial#: 1830
    public void rcrb___1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD0, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rcrb      [rbx + 305419896], 0x1}
     */
    // Template#: 9959, Serial#: 1902
    public void rcrb___1_r1902(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD0, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rcrb      [rbx + 305419896], 0x1}
     */
    // Template#: 9960, Serial#: 1974
    public void rcrb___1_r1974(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD0, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rcrl      [rbx + 305419896], 0x1}
     */
    // Template#: 9961, Serial#: 2046
    public void rcrl___1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD1, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rcrq      [rbx + 305419896], 0x1}
     */
    // Template#: 9962, Serial#: 2118
    public void rcrq___1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD1, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rcrw      [rbx + 305419896], 0x1}
     */
    // Template#: 9963, Serial#: 2190
    public void rcrw___1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD1, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rcrb      [rbx + 305419896], cl}
     */
    // Template#: 9964, Serial#: 2262
    public void rcrb___CL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD2, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rcrb      [rbx + 305419896], cl}
     */
    // Template#: 9965, Serial#: 2334
    public void rcrb___CL_r2334(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD2, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rcrb      [rbx + 305419896], cl}
     */
    // Template#: 9966, Serial#: 2406
    public void rcrb___CL_r2406(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD2, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rcrl      [rbx + 305419896], cl}
     */
    // Template#: 9967, Serial#: 2478
    public void rcrl___CL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD3, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rcrq      [rbx + 305419896], cl}
     */
    // Template#: 9968, Serial#: 2550
    public void rcrq___CL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD3, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rcrw      [rbx + 305419896], cl}
     */
    // Template#: 9969, Serial#: 2622
    public void rcrw___CL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD3, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrb      [rbx + 305419896], 0x12}
     */
    // Template#: 9970, Serial#: 1340
    public void rcrb(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0xC0, (byte) 0x03, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrb      [rbx + 305419896], 0x12}
     */
    // Template#: 9971, Serial#: 1412
    public void rcrb_r1412(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0xC0, (byte) 0x03, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrb      [rbx + 305419896], 0x12}
     */
    // Template#: 9972, Serial#: 1484
    public void rcrb_r1484(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0xC0, (byte) 0x03, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrl  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrl      [rbx + 305419896], 0x12}
     */
    // Template#: 9973, Serial#: 1556
    public void rcrl(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0xC1, (byte) 0x03, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrq  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrq      [rbx + 305419896], 0x12}
     */
    // Template#: 9974, Serial#: 1628
    public void rcrq(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0xC1, (byte) 0x03, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rcrw  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rcrw      [rbx + 305419896], 0x12}
     */
    // Template#: 9975, Serial#: 1700
    public void rcrw(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0xC1, (byte) 0x03, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rdmsr  }
     * Example disassembly syntax: {@code rdmsr   }
     */
    // Template#: 9976, Serial#: 6359
    public void rdmsr() {
        assemble0373((byte) 0x32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rdmsr  }
     * Example disassembly syntax: {@code rdmsr   }
     */
    // Template#: 9977, Serial#: 6360
    public void rdmsr_r6360() {
        assemble0374((byte) 0x32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rdmsr  }
     * Example disassembly syntax: {@code rdmsr   }
     */
    // Template#: 9978, Serial#: 6361
    public void rdmsr_r6361() {
        assemble0375((byte) 0x32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rdpmc  }
     * Example disassembly syntax: {@code rdpmc   }
     */
    // Template#: 9979, Serial#: 6362
    public void rdpmc() {
        assemble0373((byte) 0x33);
    }

    /**
     * Pseudo-external assembler syntax: {@code rdpmc  }
     * Example disassembly syntax: {@code rdpmc   }
     */
    // Template#: 9980, Serial#: 6363
    public void rdpmc_r6363() {
        assemble0374((byte) 0x33);
    }

    /**
     * Pseudo-external assembler syntax: {@code rdpmc  }
     * Example disassembly syntax: {@code rdpmc   }
     */
    // Template#: 9981, Serial#: 6364
    public void rdpmc_r6364() {
        assemble0375((byte) 0x33);
    }

    /**
     * Pseudo-external assembler syntax: {@code rdtsc  }
     * Example disassembly syntax: {@code rdtsc   }
     */
    // Template#: 9982, Serial#: 6356
    public void rdtsc() {
        assemble0373((byte) 0x31);
    }

    /**
     * Pseudo-external assembler syntax: {@code rdtsc  }
     * Example disassembly syntax: {@code rdtsc   }
     */
    // Template#: 9983, Serial#: 6357
    public void rdtsc_r6357() {
        assemble0374((byte) 0x31);
    }

    /**
     * Pseudo-external assembler syntax: {@code rdtsc  }
     * Example disassembly syntax: {@code rdtsc   }
     */
    // Template#: 9984, Serial#: 6358
    public void rdtsc_r6358() {
        assemble0375((byte) 0x31);
    }

    /**
     * Pseudo-external assembler syntax: {@code repe  }
     * Example disassembly syntax: {@code repe    }
     */
    // Template#: 9985, Serial#: 2672
    public void repe() {
        assemble0208((byte) 0xF3);
    }

    /**
     * Pseudo-external assembler syntax: {@code repe  }
     * Example disassembly syntax: {@code repe    }
     */
    // Template#: 9986, Serial#: 2673
    public void repe_r2673() {
        assemble0209((byte) 0xF3);
    }

    /**
     * Pseudo-external assembler syntax: {@code repe  }
     * Example disassembly syntax: {@code repe    }
     */
    // Template#: 9987, Serial#: 2674
    public void repe_r2674() {
        assemble0210((byte) 0xF3);
    }

    /**
     * Pseudo-external assembler syntax: {@code repne  }
     * Example disassembly syntax: {@code repne   }
     */
    // Template#: 9988, Serial#: 2669
    public void repne() {
        assemble0208((byte) 0xF2);
    }

    /**
     * Pseudo-external assembler syntax: {@code repne  }
     * Example disassembly syntax: {@code repne   }
     */
    // Template#: 9989, Serial#: 2670
    public void repne_r2670() {
        assemble0209((byte) 0xF2);
    }

    /**
     * Pseudo-external assembler syntax: {@code repne  }
     * Example disassembly syntax: {@code repne   }
     */
    // Template#: 9990, Serial#: 2671
    public void repne_r2671() {
        assemble0210((byte) 0xF2);
    }

    /**
     * Pseudo-external assembler syntax: {@code ret  }
     * Example disassembly syntax: {@code ret     }
     */
    // Template#: 9991, Serial#: 1720
    public void ret() {
        assemble0208((byte) 0xC3);
    }

    /**
     * Pseudo-external assembler syntax: {@code ret  }
     * Example disassembly syntax: {@code ret     }
     */
    // Template#: 9992, Serial#: 1721
    public void ret_r1721() {
        assemble0210((byte) 0xC3);
    }

    /**
     * Pseudo-external assembler syntax: {@code ret  }<i>imm16</i>
     * Example disassembly syntax: {@code ret       0x1234}
     */
    // Template#: 9993, Serial#: 1718
    public void ret(short imm16) {
        assemble1109((byte) 0xC2, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code ret  }<i>imm16</i>
     * Example disassembly syntax: {@code ret       0x1234}
     */
    // Template#: 9994, Serial#: 1719
    public void ret_r1719(short imm16) {
        assemble0171((byte) 0xC2, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code retf  }
     * Example disassembly syntax: {@code retf    }
     */
    // Template#: 9995, Serial#: 3908
    public void retf() {
        assemble0208((byte) 0xCB);
    }

    /**
     * Pseudo-external assembler syntax: {@code retf  }
     * Example disassembly syntax: {@code retf    }
     */
    // Template#: 9996, Serial#: 3909
    public void retf_r3909() {
        assemble0209((byte) 0xCB);
    }

    /**
     * Pseudo-external assembler syntax: {@code retf  }
     * Example disassembly syntax: {@code retf    }
     */
    // Template#: 9997, Serial#: 3910
    public void retf_r3910() {
        assemble0210((byte) 0xCB);
    }

    /**
     * Pseudo-external assembler syntax: {@code retf  }<i>imm16</i>
     * Example disassembly syntax: {@code retf      0x1234}
     */
    // Template#: 9998, Serial#: 3905
    public void retf(short imm16) {
        assemble1109((byte) 0xCA, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code retf  }<i>imm16</i>
     * Example disassembly syntax: {@code retf      0x1234}
     */
    // Template#: 9999, Serial#: 3906
    public void retf_r3906(short imm16) {
        assemble1110((byte) 0xCA, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code retf  }<i>imm16</i>
     * Example disassembly syntax: {@code retf      0x1234}
     */
    // Template#: 10000, Serial#: 3907
    public void retf_r3907(short imm16) {
        assemble0171((byte) 0xCA, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolb      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 10001, Serial#: 1809
    public void rolb___1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD0, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolb      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 10002, Serial#: 1881
    public void rolb___1_r1881(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD0, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolb      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 10003, Serial#: 1953
    public void rolb___1_r1953(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD0, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code roll  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code roll      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 10004, Serial#: 2025
    public void roll___1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD1, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolq      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 10005, Serial#: 2097
    public void rolq___1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD1, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolw      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 10006, Serial#: 2169
    public void rolw___1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD1, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolb      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 10007, Serial#: 2241
    public void rolb___CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD2, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolb      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 10008, Serial#: 2313
    public void rolb___CL_r2313(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD2, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolb      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 10009, Serial#: 2385
    public void rolb___CL_r2385(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD2, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code roll  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code roll      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 10010, Serial#: 2457
    public void roll___CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD3, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolq      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 10011, Serial#: 2529
    public void rolq___CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD3, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolw      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 10012, Serial#: 2601
    public void rolw___CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD3, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 10013, Serial#: 1319
    public void rolb(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0xC0, (byte) 0x00, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 10014, Serial#: 1391
    public void rolb_r1391(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0xC0, (byte) 0x00, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 10015, Serial#: 1463
    public void rolb_r1463(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0xC0, (byte) 0x00, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code roll  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code roll      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 10016, Serial#: 1535
    public void roll(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0xC1, (byte) 0x00, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolq      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 10017, Serial#: 1607
    public void rolq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0xC1, (byte) 0x00, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolw      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 10018, Serial#: 1679
    public void rolw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0xC1, (byte) 0x00, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rolb      [rbx + 18], 0x1}
     */
    // Template#: 10019, Serial#: 1808
    public void rolb___1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD0, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rolb      [rbx + 18], 0x1}
     */
    // Template#: 10020, Serial#: 1880
    public void rolb___1_r1880(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD0, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rolb      [rbx + 18], 0x1}
     */
    // Template#: 10021, Serial#: 1952
    public void rolb___1_r1952(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD0, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code roll  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code roll      [rbx + 18], 0x1}
     */
    // Template#: 10022, Serial#: 2024
    public void roll___1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD1, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rolq      [rbx + 18], 0x1}
     */
    // Template#: 10023, Serial#: 2096
    public void rolq___1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD1, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rolw      [rbx + 18], 0x1}
     */
    // Template#: 10024, Serial#: 2168
    public void rolw___1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD1, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rolb      [rbx + 18], cl}
     */
    // Template#: 10025, Serial#: 2240
    public void rolb___CL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD2, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rolb      [rbx + 18], cl}
     */
    // Template#: 10026, Serial#: 2312
    public void rolb___CL_r2312(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD2, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rolb      [rbx + 18], cl}
     */
    // Template#: 10027, Serial#: 2384
    public void rolb___CL_r2384(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD2, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code roll  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code roll      [rbx + 18], cl}
     */
    // Template#: 10028, Serial#: 2456
    public void roll___CL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD3, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rolq      [rbx + 18], cl}
     */
    // Template#: 10029, Serial#: 2528
    public void rolq___CL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD3, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rolw      [rbx + 18], cl}
     */
    // Template#: 10030, Serial#: 2600
    public void rolw___CL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD3, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolb      [rbx + 18], 0x12}
     */
    // Template#: 10031, Serial#: 1318
    public void rolb(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0xC0, (byte) 0x00, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolb      [rbx + 18], 0x12}
     */
    // Template#: 10032, Serial#: 1390
    public void rolb_r1390(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0xC0, (byte) 0x00, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolb      [rbx + 18], 0x12}
     */
    // Template#: 10033, Serial#: 1462
    public void rolb_r1462(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0xC0, (byte) 0x00, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code roll  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code roll      [rbx + 18], 0x12}
     */
    // Template#: 10034, Serial#: 1534
    public void roll(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0xC1, (byte) 0x00, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolq  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolq      [rbx + 18], 0x12}
     */
    // Template#: 10035, Serial#: 1606
    public void rolq(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0xC1, (byte) 0x00, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolw  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolw      [rbx + 18], 0x12}
     */
    // Template#: 10036, Serial#: 1678
    public void rolw(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0xC1, (byte) 0x00, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolb      rbx[rsi * 4], 0x1}
     */
    // Template#: 10037, Serial#: 1777
    public void rolb___1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD0, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolb      rbx[rsi * 4], 0x1}
     */
    // Template#: 10038, Serial#: 1849
    public void rolb___1_r1849(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD0, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolb      rbx[rsi * 4], 0x1}
     */
    // Template#: 10039, Serial#: 1921
    public void rolb___1_r1921(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD0, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code roll  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code roll      rbx[rsi * 4], 0x1}
     */
    // Template#: 10040, Serial#: 1993
    public void roll___1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD1, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolq      rbx[rsi * 4], 0x1}
     */
    // Template#: 10041, Serial#: 2065
    public void rolq___1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD1, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolw      rbx[rsi * 4], 0x1}
     */
    // Template#: 10042, Serial#: 2137
    public void rolw___1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD1, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolb      rbx[rsi * 4], cl}
     */
    // Template#: 10043, Serial#: 2209
    public void rolb___CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD2, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolb      rbx[rsi * 4], cl}
     */
    // Template#: 10044, Serial#: 2281
    public void rolb___CL_r2281(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD2, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolb      rbx[rsi * 4], cl}
     */
    // Template#: 10045, Serial#: 2353
    public void rolb___CL_r2353(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD2, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code roll  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code roll      rbx[rsi * 4], cl}
     */
    // Template#: 10046, Serial#: 2425
    public void roll___CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD3, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolq      rbx[rsi * 4], cl}
     */
    // Template#: 10047, Serial#: 2497
    public void rolq___CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD3, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolw      rbx[rsi * 4], cl}
     */
    // Template#: 10048, Serial#: 2569
    public void rolw___CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD3, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolb      rbx[rsi * 4], 0x12}
     */
    // Template#: 10049, Serial#: 1287
    public void rolb(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0xC0, (byte) 0x00, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolb      rbx[rsi * 4], 0x12}
     */
    // Template#: 10050, Serial#: 1359
    public void rolb_r1359(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0xC0, (byte) 0x00, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolb      rbx[rsi * 4], 0x12}
     */
    // Template#: 10051, Serial#: 1431
    public void rolb_r1431(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0xC0, (byte) 0x00, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code roll  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code roll      rbx[rsi * 4], 0x12}
     */
    // Template#: 10052, Serial#: 1503
    public void roll(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0xC1, (byte) 0x00, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolq      rbx[rsi * 4], 0x12}
     */
    // Template#: 10053, Serial#: 1575
    public void rolq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0xC1, (byte) 0x00, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolw  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolw      rbx[rsi * 4], 0x12}
     */
    // Template#: 10054, Serial#: 1647
    public void rolw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0xC1, (byte) 0x00, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolw  }<i>destination</i>
     * Example disassembly syntax: {@code rolw      ax, 0x1}
     */
    // Template#: 10055, Serial#: 2200
    public void rolw___1(AMD64GeneralRegister16 destination) {
        assemble0336((byte) 0xD1, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolw  }<i>destination</i>
     * Example disassembly syntax: {@code rolw      ax, cl}
     */
    // Template#: 10056, Serial#: 2632
    public void rolw___CL(AMD64GeneralRegister16 destination) {
        assemble0336((byte) 0xD3, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolw      ax, 0x12}
     */
    // Template#: 10057, Serial#: 1710
    public void rolw(AMD64GeneralRegister16 destination, byte imm8) {
        assemble0040((byte) 0xC1, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code roll  }<i>destination</i>
     * Example disassembly syntax: {@code roll      eax, 0x1}
     */
    // Template#: 10058, Serial#: 2056
    public void roll___1(AMD64GeneralRegister32 destination) {
        assemble0576((byte) 0xD1, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code roll  }<i>destination</i>
     * Example disassembly syntax: {@code roll      eax, cl}
     */
    // Template#: 10059, Serial#: 2488
    public void roll___CL(AMD64GeneralRegister32 destination) {
        assemble0576((byte) 0xD3, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code roll  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code roll      eax, 0x12}
     */
    // Template#: 10060, Serial#: 1566
    public void roll(AMD64GeneralRegister32 destination, byte imm8) {
        assemble0052((byte) 0xC1, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolq  }<i>destination</i>
     * Example disassembly syntax: {@code rolq      rax, 0x1}
     */
    // Template#: 10061, Serial#: 2128
    public void rolq___1(AMD64GeneralRegister64 destination) {
        assemble0577((byte) 0xD1, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolq  }<i>destination</i>
     * Example disassembly syntax: {@code rolq      rax, cl}
     */
    // Template#: 10062, Serial#: 2560
    public void rolq___CL(AMD64GeneralRegister64 destination) {
        assemble0577((byte) 0xD3, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolq      rax, 0x12}
     */
    // Template#: 10063, Serial#: 1638
    public void rolq(AMD64GeneralRegister64 destination, byte imm8) {
        assemble0064((byte) 0xC1, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>destination</i>
     * Example disassembly syntax: {@code rolb      al, 0x1}
     */
    // Template#: 10064, Serial#: 1840
    public void rolb___1(AMD64GeneralRegister8 destination) {
        assemble0578((byte) 0xD0, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>destination</i>
     * Example disassembly syntax: {@code rolb      al, 0x1}
     */
    // Template#: 10065, Serial#: 1912
    public void rolb___1_r1912(AMD64GeneralRegister8 destination) {
        assemble0579((byte) 0xD0, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>destination</i>
     * Example disassembly syntax: {@code rolb      al, 0x1}
     */
    // Template#: 10066, Serial#: 1984
    public void rolb___1_r1984(AMD64GeneralRegister8 destination) {
        assemble0580((byte) 0xD0, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>destination</i>
     * Example disassembly syntax: {@code rolb      al, cl}
     */
    // Template#: 10067, Serial#: 2272
    public void rolb___CL(AMD64GeneralRegister8 destination) {
        assemble0578((byte) 0xD2, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>destination</i>
     * Example disassembly syntax: {@code rolb      al, cl}
     */
    // Template#: 10068, Serial#: 2344
    public void rolb___CL_r2344(AMD64GeneralRegister8 destination) {
        assemble0579((byte) 0xD2, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>destination</i>
     * Example disassembly syntax: {@code rolb      al, cl}
     */
    // Template#: 10069, Serial#: 2416
    public void rolb___CL_r2416(AMD64GeneralRegister8 destination) {
        assemble0580((byte) 0xD2, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolb      al, 0x12}
     */
    // Template#: 10070, Serial#: 1350
    public void rolb(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0076((byte) 0xC0, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolb      al, 0x12}
     */
    // Template#: 10071, Serial#: 1422
    public void rolb_r1422(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0077((byte) 0xC0, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolb      al, 0x12}
     */
    // Template#: 10072, Serial#: 1494
    public void rolb_r1494(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0078((byte) 0xC0, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>destination</i>
     * Example disassembly syntax: {@code rolb      [rbx], 0x1}
     */
    // Template#: 10073, Serial#: 1776
    public void rolb___1(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD0, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>destination</i>
     * Example disassembly syntax: {@code rolb      [rbx], 0x1}
     */
    // Template#: 10074, Serial#: 1848
    public void rolb___1_r1848(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD0, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>destination</i>
     * Example disassembly syntax: {@code rolb      [rbx], 0x1}
     */
    // Template#: 10075, Serial#: 1920
    public void rolb___1_r1920(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD0, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code roll  }<i>destination</i>
     * Example disassembly syntax: {@code roll      [rbx], 0x1}
     */
    // Template#: 10076, Serial#: 1992
    public void roll___1(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD1, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolq  }<i>destination</i>
     * Example disassembly syntax: {@code rolq      [rbx], 0x1}
     */
    // Template#: 10077, Serial#: 2064
    public void rolq___1(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD1, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolw  }<i>destination</i>
     * Example disassembly syntax: {@code rolw      [rbx], 0x1}
     */
    // Template#: 10078, Serial#: 2136
    public void rolw___1(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD1, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>destination</i>
     * Example disassembly syntax: {@code rolb      [rbx], cl}
     */
    // Template#: 10079, Serial#: 2208
    public void rolb___CL(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD2, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>destination</i>
     * Example disassembly syntax: {@code rolb      [rbx], cl}
     */
    // Template#: 10080, Serial#: 2280
    public void rolb___CL_r2280(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD2, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>destination</i>
     * Example disassembly syntax: {@code rolb      [rbx], cl}
     */
    // Template#: 10081, Serial#: 2352
    public void rolb___CL_r2352(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD2, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code roll  }<i>destination</i>
     * Example disassembly syntax: {@code roll      [rbx], cl}
     */
    // Template#: 10082, Serial#: 2424
    public void roll___CL(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD3, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolq  }<i>destination</i>
     * Example disassembly syntax: {@code rolq      [rbx], cl}
     */
    // Template#: 10083, Serial#: 2496
    public void rolq___CL(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD3, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolw  }<i>destination</i>
     * Example disassembly syntax: {@code rolw      [rbx], cl}
     */
    // Template#: 10084, Serial#: 2568
    public void rolw___CL(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD3, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolb      [rbx], 0x12}
     */
    // Template#: 10085, Serial#: 1286
    public void rolb(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0xC0, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolb      [rbx], 0x12}
     */
    // Template#: 10086, Serial#: 1358
    public void rolb_r1358(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0xC0, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolb      [rbx], 0x12}
     */
    // Template#: 10087, Serial#: 1430
    public void rolb_r1430(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0xC0, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code roll  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code roll      [rbx], 0x12}
     */
    // Template#: 10088, Serial#: 1502
    public void roll(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0xC1, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolq      [rbx], 0x12}
     */
    // Template#: 10089, Serial#: 1574
    public void rolq(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0xC1, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolw      [rbx], 0x12}
     */
    // Template#: 10090, Serial#: 1646
    public void rolw(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0xC1, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>rel32</i>
     * Example disassembly syntax: {@code rolb      [L1: +305419896], 0x1}
     */
    // Template#: 10091, Serial#: 1779
    public void rip_rolb___1(int rel32) {
        assemble0341((byte) 0xD0, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>rel32</i>
     * Example disassembly syntax: {@code rolb      [L1: +305419896], 0x1}
     */
    // Template#: 10092, Serial#: 1851
    public void rip_rolb___1_r1851(int rel32) {
        assemble0582((byte) 0xD0, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>rel32</i>
     * Example disassembly syntax: {@code rolb      [L1: +305419896], 0x1}
     */
    // Template#: 10093, Serial#: 1923
    public void rip_rolb___1_r1923(int rel32) {
        assemble0342((byte) 0xD0, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code roll  }<i>rel32</i>
     * Example disassembly syntax: {@code roll      [L1: +305419896], 0x1}
     */
    // Template#: 10094, Serial#: 1995
    public void rip_roll___1(int rel32) {
        assemble0341((byte) 0xD1, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolq  }<i>rel32</i>
     * Example disassembly syntax: {@code rolq      [L1: +305419896], 0x1}
     */
    // Template#: 10095, Serial#: 2067
    public void rip_rolq___1(int rel32) {
        assemble0582((byte) 0xD1, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolw  }<i>rel32</i>
     * Example disassembly syntax: {@code rolw      [L1: +305419896], 0x1}
     */
    // Template#: 10096, Serial#: 2139
    public void rip_rolw___1(int rel32) {
        assemble0342((byte) 0xD1, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>rel32</i>
     * Example disassembly syntax: {@code rolb      [L1: +305419896], cl}
     */
    // Template#: 10097, Serial#: 2211
    public void rip_rolb___CL(int rel32) {
        assemble0341((byte) 0xD2, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>rel32</i>
     * Example disassembly syntax: {@code rolb      [L1: +305419896], cl}
     */
    // Template#: 10098, Serial#: 2283
    public void rip_rolb___CL_r2283(int rel32) {
        assemble0582((byte) 0xD2, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>rel32</i>
     * Example disassembly syntax: {@code rolb      [L1: +305419896], cl}
     */
    // Template#: 10099, Serial#: 2355
    public void rip_rolb___CL_r2355(int rel32) {
        assemble0342((byte) 0xD2, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code roll  }<i>rel32</i>
     * Example disassembly syntax: {@code roll      [L1: +305419896], cl}
     */
    // Template#: 10100, Serial#: 2427
    public void rip_roll___CL(int rel32) {
        assemble0341((byte) 0xD3, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolq  }<i>rel32</i>
     * Example disassembly syntax: {@code rolq      [L1: +305419896], cl}
     */
    // Template#: 10101, Serial#: 2499
    public void rip_rolq___CL(int rel32) {
        assemble0582((byte) 0xD3, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolw  }<i>rel32</i>
     * Example disassembly syntax: {@code rolw      [L1: +305419896], cl}
     */
    // Template#: 10102, Serial#: 2571
    public void rip_rolw___CL(int rel32) {
        assemble0342((byte) 0xD3, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolb      [L1: +305419896], 0x12}
     */
    // Template#: 10103, Serial#: 1289
    public void rip_rolb(int rel32, byte imm8) {
        assemble0123((byte) 0xC0, (byte) 0x00, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolb      [L1: +305419896], 0x12}
     */
    // Template#: 10104, Serial#: 1361
    public void rip_rolb_r1361(int rel32, byte imm8) {
        assemble0124((byte) 0xC0, (byte) 0x00, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolb      [L1: +305419896], 0x12}
     */
    // Template#: 10105, Serial#: 1433
    public void rip_rolb_r1433(int rel32, byte imm8) {
        assemble0125((byte) 0xC0, (byte) 0x00, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code roll  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code roll      [L1: +305419896], 0x12}
     */
    // Template#: 10106, Serial#: 1505
    public void rip_roll(int rel32, byte imm8) {
        assemble0123((byte) 0xC1, (byte) 0x00, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolq  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolq      [L1: +305419896], 0x12}
     */
    // Template#: 10107, Serial#: 1577
    public void rip_rolq(int rel32, byte imm8) {
        assemble0124((byte) 0xC1, (byte) 0x00, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolw  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolw      [L1: +305419896], 0x12}
     */
    // Template#: 10108, Serial#: 1649
    public void rip_rolw(int rel32, byte imm8) {
        assemble0125((byte) 0xC1, (byte) 0x00, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolb      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 10109, Serial#: 1825
    public void rolb___1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD0, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolb      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 10110, Serial#: 1897
    public void rolb___1_r1897(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD0, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolb      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 10111, Serial#: 1969
    public void rolb___1_r1969(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD0, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code roll  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code roll      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 10112, Serial#: 2041
    public void roll___1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD1, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolq      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 10113, Serial#: 2113
    public void rolq___1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD1, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolw      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 10114, Serial#: 2185
    public void rolw___1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD1, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolb      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 10115, Serial#: 2257
    public void rolb___CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD2, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolb      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 10116, Serial#: 2329
    public void rolb___CL_r2329(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD2, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolb      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 10117, Serial#: 2401
    public void rolb___CL_r2401(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD2, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code roll  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code roll      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 10118, Serial#: 2473
    public void roll___CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD3, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolq      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 10119, Serial#: 2545
    public void rolq___CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD3, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolw      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 10120, Serial#: 2617
    public void rolw___CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD3, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 10121, Serial#: 1335
    public void rolb(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0xC0, (byte) 0x00, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 10122, Serial#: 1407
    public void rolb_r1407(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0xC0, (byte) 0x00, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 10123, Serial#: 1479
    public void rolb_r1479(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0xC0, (byte) 0x00, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code roll  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code roll      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 10124, Serial#: 1551
    public void roll(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0xC1, (byte) 0x00, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolq      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 10125, Serial#: 1623
    public void rolq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0xC1, (byte) 0x00, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolw      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 10126, Serial#: 1695
    public void rolw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0xC1, (byte) 0x00, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolb      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 10127, Serial#: 1778
    public void m_rolb___1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD0, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolb      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 10128, Serial#: 1850
    public void m_rolb___1_r1850(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD0, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolb      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 10129, Serial#: 1922
    public void m_rolb___1_r1922(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD0, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code roll  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code roll      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 10130, Serial#: 1994
    public void m_roll___1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD1, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolq      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 10131, Serial#: 2066
    public void m_rolq___1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD1, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolw      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 10132, Serial#: 2138
    public void m_rolw___1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD1, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolb      0x12345678[rsi * 4], cl}
     */
    // Template#: 10133, Serial#: 2210
    public void m_rolb___CL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD2, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolb      0x12345678[rsi * 4], cl}
     */
    // Template#: 10134, Serial#: 2282
    public void m_rolb___CL_r2282(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD2, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolb      0x12345678[rsi * 4], cl}
     */
    // Template#: 10135, Serial#: 2354
    public void m_rolb___CL_r2354(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD2, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code roll  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code roll      0x12345678[rsi * 4], cl}
     */
    // Template#: 10136, Serial#: 2426
    public void m_roll___CL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD3, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolq      0x12345678[rsi * 4], cl}
     */
    // Template#: 10137, Serial#: 2498
    public void m_rolq___CL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD3, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rolw      0x12345678[rsi * 4], cl}
     */
    // Template#: 10138, Serial#: 2570
    public void m_rolw___CL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD3, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 10139, Serial#: 1288
    public void m_rolb(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0xC0, (byte) 0x00, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 10140, Serial#: 1360
    public void m_rolb_r1360(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0xC0, (byte) 0x00, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 10141, Serial#: 1432
    public void m_rolb_r1432(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0xC0, (byte) 0x00, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code roll  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code roll      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 10142, Serial#: 1504
    public void m_roll(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0xC1, (byte) 0x00, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolq      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 10143, Serial#: 1576
    public void m_rolq(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0xC1, (byte) 0x00, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolw  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolw      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 10144, Serial#: 1648
    public void m_rolw(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0xC1, (byte) 0x00, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rolb      [rbx + 305419896], 0x1}
     */
    // Template#: 10145, Serial#: 1824
    public void rolb___1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD0, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rolb      [rbx + 305419896], 0x1}
     */
    // Template#: 10146, Serial#: 1896
    public void rolb___1_r1896(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD0, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rolb      [rbx + 305419896], 0x1}
     */
    // Template#: 10147, Serial#: 1968
    public void rolb___1_r1968(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD0, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code roll  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code roll      [rbx + 305419896], 0x1}
     */
    // Template#: 10148, Serial#: 2040
    public void roll___1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD1, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rolq      [rbx + 305419896], 0x1}
     */
    // Template#: 10149, Serial#: 2112
    public void rolq___1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD1, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rolw      [rbx + 305419896], 0x1}
     */
    // Template#: 10150, Serial#: 2184
    public void rolw___1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD1, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rolb      [rbx + 305419896], cl}
     */
    // Template#: 10151, Serial#: 2256
    public void rolb___CL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD2, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rolb      [rbx + 305419896], cl}
     */
    // Template#: 10152, Serial#: 2328
    public void rolb___CL_r2328(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD2, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rolb      [rbx + 305419896], cl}
     */
    // Template#: 10153, Serial#: 2400
    public void rolb___CL_r2400(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD2, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code roll  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code roll      [rbx + 305419896], cl}
     */
    // Template#: 10154, Serial#: 2472
    public void roll___CL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD3, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rolq      [rbx + 305419896], cl}
     */
    // Template#: 10155, Serial#: 2544
    public void rolq___CL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD3, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rolw      [rbx + 305419896], cl}
     */
    // Template#: 10156, Serial#: 2616
    public void rolw___CL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD3, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolb      [rbx + 305419896], 0x12}
     */
    // Template#: 10157, Serial#: 1334
    public void rolb(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0xC0, (byte) 0x00, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolb      [rbx + 305419896], 0x12}
     */
    // Template#: 10158, Serial#: 1406
    public void rolb_r1406(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0xC0, (byte) 0x00, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolb      [rbx + 305419896], 0x12}
     */
    // Template#: 10159, Serial#: 1478
    public void rolb_r1478(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0xC0, (byte) 0x00, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code roll  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code roll      [rbx + 305419896], 0x12}
     */
    // Template#: 10160, Serial#: 1550
    public void roll(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0xC1, (byte) 0x00, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolq  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolq      [rbx + 305419896], 0x12}
     */
    // Template#: 10161, Serial#: 1622
    public void rolq(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0xC1, (byte) 0x00, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rolw  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rolw      [rbx + 305419896], 0x12}
     */
    // Template#: 10162, Serial#: 1694
    public void rolw(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0xC1, (byte) 0x00, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorb      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 10163, Serial#: 1811
    public void rorb___1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD0, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorb      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 10164, Serial#: 1883
    public void rorb___1_r1883(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD0, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorb      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 10165, Serial#: 1955
    public void rorb___1_r1955(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD0, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorl      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 10166, Serial#: 2027
    public void rorl___1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD1, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorq      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 10167, Serial#: 2099
    public void rorq___1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD1, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorw      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 10168, Serial#: 2171
    public void rorw___1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD1, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorb      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 10169, Serial#: 2243
    public void rorb___CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD2, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorb      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 10170, Serial#: 2315
    public void rorb___CL_r2315(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD2, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorb      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 10171, Serial#: 2387
    public void rorb___CL_r2387(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD2, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorl      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 10172, Serial#: 2459
    public void rorl___CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD3, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorq      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 10173, Serial#: 2531
    public void rorq___CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD3, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorw      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 10174, Serial#: 2603
    public void rorw___CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD3, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 10175, Serial#: 1321
    public void rorb(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0xC0, (byte) 0x01, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 10176, Serial#: 1393
    public void rorb_r1393(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0xC0, (byte) 0x01, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 10177, Serial#: 1465
    public void rorb_r1465(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0xC0, (byte) 0x01, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorl      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 10178, Serial#: 1537
    public void rorl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0xC1, (byte) 0x01, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorq      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 10179, Serial#: 1609
    public void rorq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0xC1, (byte) 0x01, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorw      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 10180, Serial#: 1681
    public void rorw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0xC1, (byte) 0x01, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rorb      [rbx + 18], 0x1}
     */
    // Template#: 10181, Serial#: 1810
    public void rorb___1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD0, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rorb      [rbx + 18], 0x1}
     */
    // Template#: 10182, Serial#: 1882
    public void rorb___1_r1882(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD0, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rorb      [rbx + 18], 0x1}
     */
    // Template#: 10183, Serial#: 1954
    public void rorb___1_r1954(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD0, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rorl      [rbx + 18], 0x1}
     */
    // Template#: 10184, Serial#: 2026
    public void rorl___1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD1, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rorq      [rbx + 18], 0x1}
     */
    // Template#: 10185, Serial#: 2098
    public void rorq___1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD1, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rorw      [rbx + 18], 0x1}
     */
    // Template#: 10186, Serial#: 2170
    public void rorw___1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD1, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rorb      [rbx + 18], cl}
     */
    // Template#: 10187, Serial#: 2242
    public void rorb___CL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD2, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rorb      [rbx + 18], cl}
     */
    // Template#: 10188, Serial#: 2314
    public void rorb___CL_r2314(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD2, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rorb      [rbx + 18], cl}
     */
    // Template#: 10189, Serial#: 2386
    public void rorb___CL_r2386(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD2, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rorl      [rbx + 18], cl}
     */
    // Template#: 10190, Serial#: 2458
    public void rorl___CL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD3, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rorq      [rbx + 18], cl}
     */
    // Template#: 10191, Serial#: 2530
    public void rorq___CL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD3, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code rorw      [rbx + 18], cl}
     */
    // Template#: 10192, Serial#: 2602
    public void rorw___CL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD3, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorb      [rbx + 18], 0x12}
     */
    // Template#: 10193, Serial#: 1320
    public void rorb(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0xC0, (byte) 0x01, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorb      [rbx + 18], 0x12}
     */
    // Template#: 10194, Serial#: 1392
    public void rorb_r1392(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0xC0, (byte) 0x01, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorb      [rbx + 18], 0x12}
     */
    // Template#: 10195, Serial#: 1464
    public void rorb_r1464(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0xC0, (byte) 0x01, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorl  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorl      [rbx + 18], 0x12}
     */
    // Template#: 10196, Serial#: 1536
    public void rorl(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0xC1, (byte) 0x01, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorq  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorq      [rbx + 18], 0x12}
     */
    // Template#: 10197, Serial#: 1608
    public void rorq(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0xC1, (byte) 0x01, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorw  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorw      [rbx + 18], 0x12}
     */
    // Template#: 10198, Serial#: 1680
    public void rorw(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0xC1, (byte) 0x01, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorb      rbx[rsi * 4], 0x1}
     */
    // Template#: 10199, Serial#: 1781
    public void rorb___1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD0, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorb      rbx[rsi * 4], 0x1}
     */
    // Template#: 10200, Serial#: 1853
    public void rorb___1_r1853(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD0, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorb      rbx[rsi * 4], 0x1}
     */
    // Template#: 10201, Serial#: 1925
    public void rorb___1_r1925(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD0, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorl      rbx[rsi * 4], 0x1}
     */
    // Template#: 10202, Serial#: 1997
    public void rorl___1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD1, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorq      rbx[rsi * 4], 0x1}
     */
    // Template#: 10203, Serial#: 2069
    public void rorq___1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD1, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorw      rbx[rsi * 4], 0x1}
     */
    // Template#: 10204, Serial#: 2141
    public void rorw___1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD1, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorb      rbx[rsi * 4], cl}
     */
    // Template#: 10205, Serial#: 2213
    public void rorb___CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD2, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorb      rbx[rsi * 4], cl}
     */
    // Template#: 10206, Serial#: 2285
    public void rorb___CL_r2285(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD2, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorb      rbx[rsi * 4], cl}
     */
    // Template#: 10207, Serial#: 2357
    public void rorb___CL_r2357(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD2, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorl      rbx[rsi * 4], cl}
     */
    // Template#: 10208, Serial#: 2429
    public void rorl___CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD3, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorq      rbx[rsi * 4], cl}
     */
    // Template#: 10209, Serial#: 2501
    public void rorq___CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD3, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorw      rbx[rsi * 4], cl}
     */
    // Template#: 10210, Serial#: 2573
    public void rorw___CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD3, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorb      rbx[rsi * 4], 0x12}
     */
    // Template#: 10211, Serial#: 1291
    public void rorb(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0xC0, (byte) 0x01, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorb      rbx[rsi * 4], 0x12}
     */
    // Template#: 10212, Serial#: 1363
    public void rorb_r1363(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0xC0, (byte) 0x01, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorb      rbx[rsi * 4], 0x12}
     */
    // Template#: 10213, Serial#: 1435
    public void rorb_r1435(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0xC0, (byte) 0x01, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorl  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorl      rbx[rsi * 4], 0x12}
     */
    // Template#: 10214, Serial#: 1507
    public void rorl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0xC1, (byte) 0x01, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorq      rbx[rsi * 4], 0x12}
     */
    // Template#: 10215, Serial#: 1579
    public void rorq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0xC1, (byte) 0x01, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorw  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorw      rbx[rsi * 4], 0x12}
     */
    // Template#: 10216, Serial#: 1651
    public void rorw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0xC1, (byte) 0x01, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorw  }<i>destination</i>
     * Example disassembly syntax: {@code rorw      ax, 0x1}
     */
    // Template#: 10217, Serial#: 2201
    public void rorw___1(AMD64GeneralRegister16 destination) {
        assemble0336((byte) 0xD1, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorw  }<i>destination</i>
     * Example disassembly syntax: {@code rorw      ax, cl}
     */
    // Template#: 10218, Serial#: 2633
    public void rorw___CL(AMD64GeneralRegister16 destination) {
        assemble0336((byte) 0xD3, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorw      ax, 0x12}
     */
    // Template#: 10219, Serial#: 1711
    public void rorw(AMD64GeneralRegister16 destination, byte imm8) {
        assemble0040((byte) 0xC1, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorl  }<i>destination</i>
     * Example disassembly syntax: {@code rorl      eax, 0x1}
     */
    // Template#: 10220, Serial#: 2057
    public void rorl___1(AMD64GeneralRegister32 destination) {
        assemble0576((byte) 0xD1, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorl  }<i>destination</i>
     * Example disassembly syntax: {@code rorl      eax, cl}
     */
    // Template#: 10221, Serial#: 2489
    public void rorl___CL(AMD64GeneralRegister32 destination) {
        assemble0576((byte) 0xD3, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorl  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorl      eax, 0x12}
     */
    // Template#: 10222, Serial#: 1567
    public void rorl(AMD64GeneralRegister32 destination, byte imm8) {
        assemble0052((byte) 0xC1, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorq  }<i>destination</i>
     * Example disassembly syntax: {@code rorq      rax, 0x1}
     */
    // Template#: 10223, Serial#: 2129
    public void rorq___1(AMD64GeneralRegister64 destination) {
        assemble0577((byte) 0xD1, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorq  }<i>destination</i>
     * Example disassembly syntax: {@code rorq      rax, cl}
     */
    // Template#: 10224, Serial#: 2561
    public void rorq___CL(AMD64GeneralRegister64 destination) {
        assemble0577((byte) 0xD3, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorq      rax, 0x12}
     */
    // Template#: 10225, Serial#: 1639
    public void rorq(AMD64GeneralRegister64 destination, byte imm8) {
        assemble0064((byte) 0xC1, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>destination</i>
     * Example disassembly syntax: {@code rorb      al, 0x1}
     */
    // Template#: 10226, Serial#: 1841
    public void rorb___1(AMD64GeneralRegister8 destination) {
        assemble0578((byte) 0xD0, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>destination</i>
     * Example disassembly syntax: {@code rorb      al, 0x1}
     */
    // Template#: 10227, Serial#: 1913
    public void rorb___1_r1913(AMD64GeneralRegister8 destination) {
        assemble0579((byte) 0xD0, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>destination</i>
     * Example disassembly syntax: {@code rorb      al, 0x1}
     */
    // Template#: 10228, Serial#: 1985
    public void rorb___1_r1985(AMD64GeneralRegister8 destination) {
        assemble0580((byte) 0xD0, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>destination</i>
     * Example disassembly syntax: {@code rorb      al, cl}
     */
    // Template#: 10229, Serial#: 2273
    public void rorb___CL(AMD64GeneralRegister8 destination) {
        assemble0578((byte) 0xD2, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>destination</i>
     * Example disassembly syntax: {@code rorb      al, cl}
     */
    // Template#: 10230, Serial#: 2345
    public void rorb___CL_r2345(AMD64GeneralRegister8 destination) {
        assemble0579((byte) 0xD2, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>destination</i>
     * Example disassembly syntax: {@code rorb      al, cl}
     */
    // Template#: 10231, Serial#: 2417
    public void rorb___CL_r2417(AMD64GeneralRegister8 destination) {
        assemble0580((byte) 0xD2, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorb      al, 0x12}
     */
    // Template#: 10232, Serial#: 1351
    public void rorb(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0076((byte) 0xC0, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorb      al, 0x12}
     */
    // Template#: 10233, Serial#: 1423
    public void rorb_r1423(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0077((byte) 0xC0, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorb      al, 0x12}
     */
    // Template#: 10234, Serial#: 1495
    public void rorb_r1495(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0078((byte) 0xC0, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>destination</i>
     * Example disassembly syntax: {@code rorb      [rbx], 0x1}
     */
    // Template#: 10235, Serial#: 1780
    public void rorb___1(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD0, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>destination</i>
     * Example disassembly syntax: {@code rorb      [rbx], 0x1}
     */
    // Template#: 10236, Serial#: 1852
    public void rorb___1_r1852(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD0, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>destination</i>
     * Example disassembly syntax: {@code rorb      [rbx], 0x1}
     */
    // Template#: 10237, Serial#: 1924
    public void rorb___1_r1924(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD0, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorl  }<i>destination</i>
     * Example disassembly syntax: {@code rorl      [rbx], 0x1}
     */
    // Template#: 10238, Serial#: 1996
    public void rorl___1(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD1, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorq  }<i>destination</i>
     * Example disassembly syntax: {@code rorq      [rbx], 0x1}
     */
    // Template#: 10239, Serial#: 2068
    public void rorq___1(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD1, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorw  }<i>destination</i>
     * Example disassembly syntax: {@code rorw      [rbx], 0x1}
     */
    // Template#: 10240, Serial#: 2140
    public void rorw___1(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD1, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>destination</i>
     * Example disassembly syntax: {@code rorb      [rbx], cl}
     */
    // Template#: 10241, Serial#: 2212
    public void rorb___CL(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD2, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>destination</i>
     * Example disassembly syntax: {@code rorb      [rbx], cl}
     */
    // Template#: 10242, Serial#: 2284
    public void rorb___CL_r2284(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD2, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>destination</i>
     * Example disassembly syntax: {@code rorb      [rbx], cl}
     */
    // Template#: 10243, Serial#: 2356
    public void rorb___CL_r2356(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD2, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorl  }<i>destination</i>
     * Example disassembly syntax: {@code rorl      [rbx], cl}
     */
    // Template#: 10244, Serial#: 2428
    public void rorl___CL(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD3, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorq  }<i>destination</i>
     * Example disassembly syntax: {@code rorq      [rbx], cl}
     */
    // Template#: 10245, Serial#: 2500
    public void rorq___CL(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD3, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorw  }<i>destination</i>
     * Example disassembly syntax: {@code rorw      [rbx], cl}
     */
    // Template#: 10246, Serial#: 2572
    public void rorw___CL(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD3, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorb      [rbx], 0x12}
     */
    // Template#: 10247, Serial#: 1290
    public void rorb(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0xC0, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorb      [rbx], 0x12}
     */
    // Template#: 10248, Serial#: 1362
    public void rorb_r1362(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0xC0, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorb      [rbx], 0x12}
     */
    // Template#: 10249, Serial#: 1434
    public void rorb_r1434(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0xC0, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorl  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorl      [rbx], 0x12}
     */
    // Template#: 10250, Serial#: 1506
    public void rorl(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0xC1, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorq      [rbx], 0x12}
     */
    // Template#: 10251, Serial#: 1578
    public void rorq(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0xC1, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorw      [rbx], 0x12}
     */
    // Template#: 10252, Serial#: 1650
    public void rorw(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0xC1, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>rel32</i>
     * Example disassembly syntax: {@code rorb      [L1: +305419896], 0x1}
     */
    // Template#: 10253, Serial#: 1783
    public void rip_rorb___1(int rel32) {
        assemble0341((byte) 0xD0, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>rel32</i>
     * Example disassembly syntax: {@code rorb      [L1: +305419896], 0x1}
     */
    // Template#: 10254, Serial#: 1855
    public void rip_rorb___1_r1855(int rel32) {
        assemble0582((byte) 0xD0, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>rel32</i>
     * Example disassembly syntax: {@code rorb      [L1: +305419896], 0x1}
     */
    // Template#: 10255, Serial#: 1927
    public void rip_rorb___1_r1927(int rel32) {
        assemble0342((byte) 0xD0, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorl  }<i>rel32</i>
     * Example disassembly syntax: {@code rorl      [L1: +305419896], 0x1}
     */
    // Template#: 10256, Serial#: 1999
    public void rip_rorl___1(int rel32) {
        assemble0341((byte) 0xD1, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorq  }<i>rel32</i>
     * Example disassembly syntax: {@code rorq      [L1: +305419896], 0x1}
     */
    // Template#: 10257, Serial#: 2071
    public void rip_rorq___1(int rel32) {
        assemble0582((byte) 0xD1, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorw  }<i>rel32</i>
     * Example disassembly syntax: {@code rorw      [L1: +305419896], 0x1}
     */
    // Template#: 10258, Serial#: 2143
    public void rip_rorw___1(int rel32) {
        assemble0342((byte) 0xD1, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>rel32</i>
     * Example disassembly syntax: {@code rorb      [L1: +305419896], cl}
     */
    // Template#: 10259, Serial#: 2215
    public void rip_rorb___CL(int rel32) {
        assemble0341((byte) 0xD2, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>rel32</i>
     * Example disassembly syntax: {@code rorb      [L1: +305419896], cl}
     */
    // Template#: 10260, Serial#: 2287
    public void rip_rorb___CL_r2287(int rel32) {
        assemble0582((byte) 0xD2, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>rel32</i>
     * Example disassembly syntax: {@code rorb      [L1: +305419896], cl}
     */
    // Template#: 10261, Serial#: 2359
    public void rip_rorb___CL_r2359(int rel32) {
        assemble0342((byte) 0xD2, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorl  }<i>rel32</i>
     * Example disassembly syntax: {@code rorl      [L1: +305419896], cl}
     */
    // Template#: 10262, Serial#: 2431
    public void rip_rorl___CL(int rel32) {
        assemble0341((byte) 0xD3, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorq  }<i>rel32</i>
     * Example disassembly syntax: {@code rorq      [L1: +305419896], cl}
     */
    // Template#: 10263, Serial#: 2503
    public void rip_rorq___CL(int rel32) {
        assemble0582((byte) 0xD3, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorw  }<i>rel32</i>
     * Example disassembly syntax: {@code rorw      [L1: +305419896], cl}
     */
    // Template#: 10264, Serial#: 2575
    public void rip_rorw___CL(int rel32) {
        assemble0342((byte) 0xD3, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorb      [L1: +305419896], 0x12}
     */
    // Template#: 10265, Serial#: 1293
    public void rip_rorb(int rel32, byte imm8) {
        assemble0123((byte) 0xC0, (byte) 0x01, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorb      [L1: +305419896], 0x12}
     */
    // Template#: 10266, Serial#: 1365
    public void rip_rorb_r1365(int rel32, byte imm8) {
        assemble0124((byte) 0xC0, (byte) 0x01, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorb      [L1: +305419896], 0x12}
     */
    // Template#: 10267, Serial#: 1437
    public void rip_rorb_r1437(int rel32, byte imm8) {
        assemble0125((byte) 0xC0, (byte) 0x01, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorl  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorl      [L1: +305419896], 0x12}
     */
    // Template#: 10268, Serial#: 1509
    public void rip_rorl(int rel32, byte imm8) {
        assemble0123((byte) 0xC1, (byte) 0x01, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorq  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorq      [L1: +305419896], 0x12}
     */
    // Template#: 10269, Serial#: 1581
    public void rip_rorq(int rel32, byte imm8) {
        assemble0124((byte) 0xC1, (byte) 0x01, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorw  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorw      [L1: +305419896], 0x12}
     */
    // Template#: 10270, Serial#: 1653
    public void rip_rorw(int rel32, byte imm8) {
        assemble0125((byte) 0xC1, (byte) 0x01, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorb      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 10271, Serial#: 1827
    public void rorb___1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD0, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorb      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 10272, Serial#: 1899
    public void rorb___1_r1899(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD0, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorb      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 10273, Serial#: 1971
    public void rorb___1_r1971(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD0, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorl      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 10274, Serial#: 2043
    public void rorl___1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD1, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorq      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 10275, Serial#: 2115
    public void rorq___1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD1, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorw      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 10276, Serial#: 2187
    public void rorw___1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD1, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorb      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 10277, Serial#: 2259
    public void rorb___CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD2, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorb      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 10278, Serial#: 2331
    public void rorb___CL_r2331(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD2, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorb      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 10279, Serial#: 2403
    public void rorb___CL_r2403(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD2, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorl      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 10280, Serial#: 2475
    public void rorl___CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD3, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorq      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 10281, Serial#: 2547
    public void rorq___CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD3, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorw      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 10282, Serial#: 2619
    public void rorw___CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD3, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 10283, Serial#: 1337
    public void rorb(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0xC0, (byte) 0x01, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 10284, Serial#: 1409
    public void rorb_r1409(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0xC0, (byte) 0x01, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 10285, Serial#: 1481
    public void rorb_r1481(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0xC0, (byte) 0x01, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorl      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 10286, Serial#: 1553
    public void rorl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0xC1, (byte) 0x01, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorq      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 10287, Serial#: 1625
    public void rorq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0xC1, (byte) 0x01, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorw      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 10288, Serial#: 1697
    public void rorw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0xC1, (byte) 0x01, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorb      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 10289, Serial#: 1782
    public void m_rorb___1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD0, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorb      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 10290, Serial#: 1854
    public void m_rorb___1_r1854(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD0, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorb      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 10291, Serial#: 1926
    public void m_rorb___1_r1926(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD0, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorl      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 10292, Serial#: 1998
    public void m_rorl___1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD1, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorq      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 10293, Serial#: 2070
    public void m_rorq___1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD1, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorw      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 10294, Serial#: 2142
    public void m_rorw___1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD1, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorb      0x12345678[rsi * 4], cl}
     */
    // Template#: 10295, Serial#: 2214
    public void m_rorb___CL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD2, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorb      0x12345678[rsi * 4], cl}
     */
    // Template#: 10296, Serial#: 2286
    public void m_rorb___CL_r2286(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD2, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorb      0x12345678[rsi * 4], cl}
     */
    // Template#: 10297, Serial#: 2358
    public void m_rorb___CL_r2358(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD2, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorl      0x12345678[rsi * 4], cl}
     */
    // Template#: 10298, Serial#: 2430
    public void m_rorl___CL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD3, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorq      0x12345678[rsi * 4], cl}
     */
    // Template#: 10299, Serial#: 2502
    public void m_rorq___CL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD3, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rorw      0x12345678[rsi * 4], cl}
     */
    // Template#: 10300, Serial#: 2574
    public void m_rorw___CL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD3, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 10301, Serial#: 1292
    public void m_rorb(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0xC0, (byte) 0x01, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 10302, Serial#: 1364
    public void m_rorb_r1364(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0xC0, (byte) 0x01, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 10303, Serial#: 1436
    public void m_rorb_r1436(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0xC0, (byte) 0x01, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorl  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorl      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 10304, Serial#: 1508
    public void m_rorl(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0xC1, (byte) 0x01, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorq      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 10305, Serial#: 1580
    public void m_rorq(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0xC1, (byte) 0x01, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorw  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorw      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 10306, Serial#: 1652
    public void m_rorw(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0xC1, (byte) 0x01, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rorb      [rbx + 305419896], 0x1}
     */
    // Template#: 10307, Serial#: 1826
    public void rorb___1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD0, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rorb      [rbx + 305419896], 0x1}
     */
    // Template#: 10308, Serial#: 1898
    public void rorb___1_r1898(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD0, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rorb      [rbx + 305419896], 0x1}
     */
    // Template#: 10309, Serial#: 1970
    public void rorb___1_r1970(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD0, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rorl      [rbx + 305419896], 0x1}
     */
    // Template#: 10310, Serial#: 2042
    public void rorl___1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD1, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rorq      [rbx + 305419896], 0x1}
     */
    // Template#: 10311, Serial#: 2114
    public void rorq___1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD1, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rorw      [rbx + 305419896], 0x1}
     */
    // Template#: 10312, Serial#: 2186
    public void rorw___1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD1, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rorb      [rbx + 305419896], cl}
     */
    // Template#: 10313, Serial#: 2258
    public void rorb___CL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD2, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rorb      [rbx + 305419896], cl}
     */
    // Template#: 10314, Serial#: 2330
    public void rorb___CL_r2330(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD2, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rorb      [rbx + 305419896], cl}
     */
    // Template#: 10315, Serial#: 2402
    public void rorb___CL_r2402(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD2, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rorl      [rbx + 305419896], cl}
     */
    // Template#: 10316, Serial#: 2474
    public void rorl___CL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD3, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rorq      [rbx + 305419896], cl}
     */
    // Template#: 10317, Serial#: 2546
    public void rorq___CL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD3, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code rorw      [rbx + 305419896], cl}
     */
    // Template#: 10318, Serial#: 2618
    public void rorw___CL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD3, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorb      [rbx + 305419896], 0x12}
     */
    // Template#: 10319, Serial#: 1336
    public void rorb(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0xC0, (byte) 0x01, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorb      [rbx + 305419896], 0x12}
     */
    // Template#: 10320, Serial#: 1408
    public void rorb_r1408(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0xC0, (byte) 0x01, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorb      [rbx + 305419896], 0x12}
     */
    // Template#: 10321, Serial#: 1480
    public void rorb_r1480(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0xC0, (byte) 0x01, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorl  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorl      [rbx + 305419896], 0x12}
     */
    // Template#: 10322, Serial#: 1552
    public void rorl(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0xC1, (byte) 0x01, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorq  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorq      [rbx + 305419896], 0x12}
     */
    // Template#: 10323, Serial#: 1624
    public void rorq(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0xC1, (byte) 0x01, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rorw  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code rorw      [rbx + 305419896], 0x12}
     */
    // Template#: 10324, Serial#: 1696
    public void rorw(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0xC1, (byte) 0x01, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsm  }
     * Example disassembly syntax: {@code rsm     }
     */
    // Template#: 10325, Serial#: 11250
    public void rsm() {
        assemble0373((byte) 0xAA);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsm  }
     * Example disassembly syntax: {@code rsm     }
     */
    // Template#: 10326, Serial#: 11251
    public void rsm_r11251() {
        assemble0374((byte) 0xAA);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsm  }
     * Example disassembly syntax: {@code rsm     }
     */
    // Template#: 10327, Serial#: 11252
    public void rsm_r11252() {
        assemble0375((byte) 0xAA);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rsqrtps   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 10328, Serial#: 6607
    public void rsqrtps(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0190((byte) 0x52, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rsqrtps   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 10329, Serial#: 6616
    public void rsqrtps_r6616(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0191((byte) 0x52, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code rsqrtps   xmm0, [rbx + 18]}
     */
    // Template#: 10330, Serial#: 6606
    public void rsqrtps(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0192((byte) 0x52, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code rsqrtps   xmm0, [rbx + 18]}
     */
    // Template#: 10331, Serial#: 6615
    public void rsqrtps_r6615(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0193((byte) 0x52, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rsqrtps   xmm0, rbx[rsi * 4]}
     */
    // Template#: 10332, Serial#: 6603
    public void rsqrtps(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0194((byte) 0x52, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rsqrtps   xmm0, rbx[rsi * 4]}
     */
    // Template#: 10333, Serial#: 6612
    public void rsqrtps_r6612(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0195((byte) 0x52, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code rsqrtps   xmm0, [rbx]}
     */
    // Template#: 10334, Serial#: 6602
    public void rsqrtps(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0196((byte) 0x52, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code rsqrtps   xmm0, [rbx]}
     */
    // Template#: 10335, Serial#: 6611
    public void rsqrtps_r6611(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0197((byte) 0x52, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code rsqrtps   xmm0, xmm0}
     */
    // Template#: 10336, Serial#: 6610
    public void rsqrtps(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0198((byte) 0x52, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code rsqrtps   xmm0, xmm0}
     */
    // Template#: 10337, Serial#: 6619
    public void rsqrtps_r6619(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0199((byte) 0x52, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code rsqrtps   xmm0, [L1: +305419896]}
     */
    // Template#: 10338, Serial#: 6605
    public void rip_rsqrtps(AMD64XMMRegister destination, int rel32) {
        assemble0200((byte) 0x52, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code rsqrtps   xmm0, [L1: +305419896]}
     */
    // Template#: 10339, Serial#: 6614
    public void rip_rsqrtps_r6614(AMD64XMMRegister destination, int rel32) {
        assemble0201((byte) 0x52, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rsqrtps   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10340, Serial#: 6609
    public void rsqrtps(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0202((byte) 0x52, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rsqrtps   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10341, Serial#: 6618
    public void rsqrtps_r6618(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0203((byte) 0x52, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rsqrtps   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 10342, Serial#: 6604
    public void m_rsqrtps(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0204((byte) 0x52, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rsqrtps   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 10343, Serial#: 6613
    public void m_rsqrtps_r6613(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0205((byte) 0x52, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code rsqrtps   xmm0, [rbx + 305419896]}
     */
    // Template#: 10344, Serial#: 6608
    public void rsqrtps(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0206((byte) 0x52, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code rsqrtps   xmm0, [rbx + 305419896]}
     */
    // Template#: 10345, Serial#: 6617
    public void rsqrtps_r6617(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0207((byte) 0x52, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rsqrtss   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 10346, Serial#: 6844
    public void rsqrtss(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0229((byte) 0x52, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rsqrtss   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 10347, Serial#: 6853
    public void rsqrtss_r6853(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0230((byte) 0x52, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtss  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code rsqrtss   xmm0, [rbx + 18]}
     */
    // Template#: 10348, Serial#: 6843
    public void rsqrtss(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0231((byte) 0x52, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtss  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code rsqrtss   xmm0, [rbx + 18]}
     */
    // Template#: 10349, Serial#: 6852
    public void rsqrtss_r6852(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0232((byte) 0x52, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rsqrtss   xmm0, rbx[rsi * 4]}
     */
    // Template#: 10350, Serial#: 6840
    public void rsqrtss(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0233((byte) 0x52, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rsqrtss   xmm0, rbx[rsi * 4]}
     */
    // Template#: 10351, Serial#: 6849
    public void rsqrtss_r6849(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0234((byte) 0x52, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code rsqrtss   xmm0, [rbx]}
     */
    // Template#: 10352, Serial#: 6839
    public void rsqrtss(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0235((byte) 0x52, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code rsqrtss   xmm0, [rbx]}
     */
    // Template#: 10353, Serial#: 6848
    public void rsqrtss_r6848(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0236((byte) 0x52, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code rsqrtss   xmm0, xmm0}
     */
    // Template#: 10354, Serial#: 6847
    public void rsqrtss(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0237((byte) 0x52, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code rsqrtss   xmm0, xmm0}
     */
    // Template#: 10355, Serial#: 6856
    public void rsqrtss_r6856(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0238((byte) 0x52, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtss  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code rsqrtss   xmm0, [L1: +305419896]}
     */
    // Template#: 10356, Serial#: 6842
    public void rip_rsqrtss(AMD64XMMRegister destination, int rel32) {
        assemble0239((byte) 0x52, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtss  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code rsqrtss   xmm0, [L1: +305419896]}
     */
    // Template#: 10357, Serial#: 6851
    public void rip_rsqrtss_r6851(AMD64XMMRegister destination, int rel32) {
        assemble0240((byte) 0x52, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rsqrtss   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10358, Serial#: 6846
    public void rsqrtss(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0241((byte) 0x52, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rsqrtss   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10359, Serial#: 6855
    public void rsqrtss_r6855(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0242((byte) 0x52, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rsqrtss   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 10360, Serial#: 6841
    public void m_rsqrtss(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0243((byte) 0x52, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code rsqrtss   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 10361, Serial#: 6850
    public void m_rsqrtss_r6850(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0244((byte) 0x52, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtss  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code rsqrtss   xmm0, [rbx + 305419896]}
     */
    // Template#: 10362, Serial#: 6845
    public void rsqrtss(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0245((byte) 0x52, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code rsqrtss  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code rsqrtss   xmm0, [rbx + 305419896]}
     */
    // Template#: 10363, Serial#: 6854
    public void rsqrtss_r6854(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0246((byte) 0x52, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sahf  }
     * Example disassembly syntax: {@code sahf    }
     */
    // Template#: 10364, Serial#: 3868
    public void sahf() {
        assemble0208((byte) 0x9E);
    }

    /**
     * Pseudo-external assembler syntax: {@code sahf  }
     * Example disassembly syntax: {@code sahf    }
     */
    // Template#: 10365, Serial#: 3869
    public void sahf_r3869() {
        assemble0209((byte) 0x9E);
    }

    /**
     * Pseudo-external assembler syntax: {@code sahf  }
     * Example disassembly syntax: {@code sahf    }
     */
    // Template#: 10366, Serial#: 3870
    public void sahf_r3870() {
        assemble0210((byte) 0x9E);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarb      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 10367, Serial#: 1823
    public void sarb___1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD0, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarb      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 10368, Serial#: 1895
    public void sarb___1_r1895(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD0, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarb      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 10369, Serial#: 1967
    public void sarb___1_r1967(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD0, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarl      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 10370, Serial#: 2039
    public void sarl___1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD1, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarq      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 10371, Serial#: 2111
    public void sarq___1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD1, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarw      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 10372, Serial#: 2183
    public void sarw___1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD1, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarb      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 10373, Serial#: 2255
    public void sarb___CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD2, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarb      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 10374, Serial#: 2327
    public void sarb___CL_r2327(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD2, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarb      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 10375, Serial#: 2399
    public void sarb___CL_r2399(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD2, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarl      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 10376, Serial#: 2471
    public void sarl___CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD3, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarq      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 10377, Serial#: 2543
    public void sarq___CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD3, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarw      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 10378, Serial#: 2615
    public void sarw___CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD3, (byte) 0x07, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 10379, Serial#: 1333
    public void sarb(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0xC0, (byte) 0x07, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 10380, Serial#: 1405
    public void sarb_r1405(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0xC0, (byte) 0x07, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 10381, Serial#: 1477
    public void sarb_r1477(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0xC0, (byte) 0x07, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarl      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 10382, Serial#: 1549
    public void sarl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0xC1, (byte) 0x07, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarq      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 10383, Serial#: 1621
    public void sarq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0xC1, (byte) 0x07, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarw      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 10384, Serial#: 1693
    public void sarw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0xC1, (byte) 0x07, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code sarb      [rbx + 18], 0x1}
     */
    // Template#: 10385, Serial#: 1822
    public void sarb___1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD0, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code sarb      [rbx + 18], 0x1}
     */
    // Template#: 10386, Serial#: 1894
    public void sarb___1_r1894(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD0, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code sarb      [rbx + 18], 0x1}
     */
    // Template#: 10387, Serial#: 1966
    public void sarb___1_r1966(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD0, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code sarl      [rbx + 18], 0x1}
     */
    // Template#: 10388, Serial#: 2038
    public void sarl___1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD1, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code sarq      [rbx + 18], 0x1}
     */
    // Template#: 10389, Serial#: 2110
    public void sarq___1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD1, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code sarw      [rbx + 18], 0x1}
     */
    // Template#: 10390, Serial#: 2182
    public void sarw___1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD1, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code sarb      [rbx + 18], cl}
     */
    // Template#: 10391, Serial#: 2254
    public void sarb___CL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD2, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code sarb      [rbx + 18], cl}
     */
    // Template#: 10392, Serial#: 2326
    public void sarb___CL_r2326(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD2, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code sarb      [rbx + 18], cl}
     */
    // Template#: 10393, Serial#: 2398
    public void sarb___CL_r2398(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD2, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code sarl      [rbx + 18], cl}
     */
    // Template#: 10394, Serial#: 2470
    public void sarl___CL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD3, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code sarq      [rbx + 18], cl}
     */
    // Template#: 10395, Serial#: 2542
    public void sarq___CL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD3, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code sarw      [rbx + 18], cl}
     */
    // Template#: 10396, Serial#: 2614
    public void sarw___CL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD3, (byte) 0x07, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarb      [rbx + 18], 0x12}
     */
    // Template#: 10397, Serial#: 1332
    public void sarb(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0xC0, (byte) 0x07, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarb      [rbx + 18], 0x12}
     */
    // Template#: 10398, Serial#: 1404
    public void sarb_r1404(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0xC0, (byte) 0x07, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarb      [rbx + 18], 0x12}
     */
    // Template#: 10399, Serial#: 1476
    public void sarb_r1476(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0xC0, (byte) 0x07, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarl  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarl      [rbx + 18], 0x12}
     */
    // Template#: 10400, Serial#: 1548
    public void sarl(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0xC1, (byte) 0x07, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarq  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarq      [rbx + 18], 0x12}
     */
    // Template#: 10401, Serial#: 1620
    public void sarq(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0xC1, (byte) 0x07, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarw  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarw      [rbx + 18], 0x12}
     */
    // Template#: 10402, Serial#: 1692
    public void sarw(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0xC1, (byte) 0x07, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarb      rbx[rsi * 4], 0x1}
     */
    // Template#: 10403, Serial#: 1805
    public void sarb___1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD0, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarb      rbx[rsi * 4], 0x1}
     */
    // Template#: 10404, Serial#: 1877
    public void sarb___1_r1877(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD0, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarb      rbx[rsi * 4], 0x1}
     */
    // Template#: 10405, Serial#: 1949
    public void sarb___1_r1949(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD0, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarl      rbx[rsi * 4], 0x1}
     */
    // Template#: 10406, Serial#: 2021
    public void sarl___1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD1, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarq      rbx[rsi * 4], 0x1}
     */
    // Template#: 10407, Serial#: 2093
    public void sarq___1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD1, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarw      rbx[rsi * 4], 0x1}
     */
    // Template#: 10408, Serial#: 2165
    public void sarw___1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD1, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarb      rbx[rsi * 4], cl}
     */
    // Template#: 10409, Serial#: 2237
    public void sarb___CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD2, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarb      rbx[rsi * 4], cl}
     */
    // Template#: 10410, Serial#: 2309
    public void sarb___CL_r2309(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD2, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarb      rbx[rsi * 4], cl}
     */
    // Template#: 10411, Serial#: 2381
    public void sarb___CL_r2381(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD2, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarl      rbx[rsi * 4], cl}
     */
    // Template#: 10412, Serial#: 2453
    public void sarl___CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD3, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarq      rbx[rsi * 4], cl}
     */
    // Template#: 10413, Serial#: 2525
    public void sarq___CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD3, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarw      rbx[rsi * 4], cl}
     */
    // Template#: 10414, Serial#: 2597
    public void sarw___CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD3, (byte) 0x07, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarb      rbx[rsi * 4], 0x12}
     */
    // Template#: 10415, Serial#: 1315
    public void sarb(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0xC0, (byte) 0x07, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarb      rbx[rsi * 4], 0x12}
     */
    // Template#: 10416, Serial#: 1387
    public void sarb_r1387(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0xC0, (byte) 0x07, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarb      rbx[rsi * 4], 0x12}
     */
    // Template#: 10417, Serial#: 1459
    public void sarb_r1459(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0xC0, (byte) 0x07, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarl  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarl      rbx[rsi * 4], 0x12}
     */
    // Template#: 10418, Serial#: 1531
    public void sarl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0xC1, (byte) 0x07, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarq      rbx[rsi * 4], 0x12}
     */
    // Template#: 10419, Serial#: 1603
    public void sarq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0xC1, (byte) 0x07, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarw  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarw      rbx[rsi * 4], 0x12}
     */
    // Template#: 10420, Serial#: 1675
    public void sarw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0xC1, (byte) 0x07, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarw  }<i>destination</i>
     * Example disassembly syntax: {@code sarw      ax, 0x1}
     */
    // Template#: 10421, Serial#: 2207
    public void sarw___1(AMD64GeneralRegister16 destination) {
        assemble0336((byte) 0xD1, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarw  }<i>destination</i>
     * Example disassembly syntax: {@code sarw      ax, cl}
     */
    // Template#: 10422, Serial#: 2639
    public void sarw___CL(AMD64GeneralRegister16 destination) {
        assemble0336((byte) 0xD3, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarw      ax, 0x12}
     */
    // Template#: 10423, Serial#: 1717
    public void sarw(AMD64GeneralRegister16 destination, byte imm8) {
        assemble0040((byte) 0xC1, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarl  }<i>destination</i>
     * Example disassembly syntax: {@code sarl      eax, 0x1}
     */
    // Template#: 10424, Serial#: 2063
    public void sarl___1(AMD64GeneralRegister32 destination) {
        assemble0576((byte) 0xD1, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarl  }<i>destination</i>
     * Example disassembly syntax: {@code sarl      eax, cl}
     */
    // Template#: 10425, Serial#: 2495
    public void sarl___CL(AMD64GeneralRegister32 destination) {
        assemble0576((byte) 0xD3, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarl  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarl      eax, 0x12}
     */
    // Template#: 10426, Serial#: 1573
    public void sarl(AMD64GeneralRegister32 destination, byte imm8) {
        assemble0052((byte) 0xC1, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarq  }<i>destination</i>
     * Example disassembly syntax: {@code sarq      rax, 0x1}
     */
    // Template#: 10427, Serial#: 2135
    public void sarq___1(AMD64GeneralRegister64 destination) {
        assemble0577((byte) 0xD1, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarq  }<i>destination</i>
     * Example disassembly syntax: {@code sarq      rax, cl}
     */
    // Template#: 10428, Serial#: 2567
    public void sarq___CL(AMD64GeneralRegister64 destination) {
        assemble0577((byte) 0xD3, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarq      rax, 0x12}
     */
    // Template#: 10429, Serial#: 1645
    public void sarq(AMD64GeneralRegister64 destination, byte imm8) {
        assemble0064((byte) 0xC1, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>destination</i>
     * Example disassembly syntax: {@code sarb      al, 0x1}
     */
    // Template#: 10430, Serial#: 1847
    public void sarb___1(AMD64GeneralRegister8 destination) {
        assemble0578((byte) 0xD0, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>destination</i>
     * Example disassembly syntax: {@code sarb      al, 0x1}
     */
    // Template#: 10431, Serial#: 1919
    public void sarb___1_r1919(AMD64GeneralRegister8 destination) {
        assemble0579((byte) 0xD0, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>destination</i>
     * Example disassembly syntax: {@code sarb      al, 0x1}
     */
    // Template#: 10432, Serial#: 1991
    public void sarb___1_r1991(AMD64GeneralRegister8 destination) {
        assemble0580((byte) 0xD0, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>destination</i>
     * Example disassembly syntax: {@code sarb      al, cl}
     */
    // Template#: 10433, Serial#: 2279
    public void sarb___CL(AMD64GeneralRegister8 destination) {
        assemble0578((byte) 0xD2, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>destination</i>
     * Example disassembly syntax: {@code sarb      al, cl}
     */
    // Template#: 10434, Serial#: 2351
    public void sarb___CL_r2351(AMD64GeneralRegister8 destination) {
        assemble0579((byte) 0xD2, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>destination</i>
     * Example disassembly syntax: {@code sarb      al, cl}
     */
    // Template#: 10435, Serial#: 2423
    public void sarb___CL_r2423(AMD64GeneralRegister8 destination) {
        assemble0580((byte) 0xD2, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarb      al, 0x12}
     */
    // Template#: 10436, Serial#: 1357
    public void sarb(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0076((byte) 0xC0, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarb      al, 0x12}
     */
    // Template#: 10437, Serial#: 1429
    public void sarb_r1429(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0077((byte) 0xC0, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarb      al, 0x12}
     */
    // Template#: 10438, Serial#: 1501
    public void sarb_r1501(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0078((byte) 0xC0, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>destination</i>
     * Example disassembly syntax: {@code sarb      [rbx], 0x1}
     */
    // Template#: 10439, Serial#: 1804
    public void sarb___1(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD0, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>destination</i>
     * Example disassembly syntax: {@code sarb      [rbx], 0x1}
     */
    // Template#: 10440, Serial#: 1876
    public void sarb___1_r1876(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD0, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>destination</i>
     * Example disassembly syntax: {@code sarb      [rbx], 0x1}
     */
    // Template#: 10441, Serial#: 1948
    public void sarb___1_r1948(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD0, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarl  }<i>destination</i>
     * Example disassembly syntax: {@code sarl      [rbx], 0x1}
     */
    // Template#: 10442, Serial#: 2020
    public void sarl___1(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD1, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarq  }<i>destination</i>
     * Example disassembly syntax: {@code sarq      [rbx], 0x1}
     */
    // Template#: 10443, Serial#: 2092
    public void sarq___1(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD1, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarw  }<i>destination</i>
     * Example disassembly syntax: {@code sarw      [rbx], 0x1}
     */
    // Template#: 10444, Serial#: 2164
    public void sarw___1(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD1, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>destination</i>
     * Example disassembly syntax: {@code sarb      [rbx], cl}
     */
    // Template#: 10445, Serial#: 2236
    public void sarb___CL(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD2, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>destination</i>
     * Example disassembly syntax: {@code sarb      [rbx], cl}
     */
    // Template#: 10446, Serial#: 2308
    public void sarb___CL_r2308(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD2, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>destination</i>
     * Example disassembly syntax: {@code sarb      [rbx], cl}
     */
    // Template#: 10447, Serial#: 2380
    public void sarb___CL_r2380(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD2, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarl  }<i>destination</i>
     * Example disassembly syntax: {@code sarl      [rbx], cl}
     */
    // Template#: 10448, Serial#: 2452
    public void sarl___CL(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD3, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarq  }<i>destination</i>
     * Example disassembly syntax: {@code sarq      [rbx], cl}
     */
    // Template#: 10449, Serial#: 2524
    public void sarq___CL(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD3, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarw  }<i>destination</i>
     * Example disassembly syntax: {@code sarw      [rbx], cl}
     */
    // Template#: 10450, Serial#: 2596
    public void sarw___CL(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD3, (byte) 0x07, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarb      [rbx], 0x12}
     */
    // Template#: 10451, Serial#: 1314
    public void sarb(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0xC0, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarb      [rbx], 0x12}
     */
    // Template#: 10452, Serial#: 1386
    public void sarb_r1386(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0xC0, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarb      [rbx], 0x12}
     */
    // Template#: 10453, Serial#: 1458
    public void sarb_r1458(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0xC0, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarl  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarl      [rbx], 0x12}
     */
    // Template#: 10454, Serial#: 1530
    public void sarl(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0xC1, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarq      [rbx], 0x12}
     */
    // Template#: 10455, Serial#: 1602
    public void sarq(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0xC1, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarw      [rbx], 0x12}
     */
    // Template#: 10456, Serial#: 1674
    public void sarw(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0xC1, (byte) 0x07, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>rel32</i>
     * Example disassembly syntax: {@code sarb      [L1: +305419896], 0x1}
     */
    // Template#: 10457, Serial#: 1807
    public void rip_sarb___1(int rel32) {
        assemble0341((byte) 0xD0, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>rel32</i>
     * Example disassembly syntax: {@code sarb      [L1: +305419896], 0x1}
     */
    // Template#: 10458, Serial#: 1879
    public void rip_sarb___1_r1879(int rel32) {
        assemble0582((byte) 0xD0, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>rel32</i>
     * Example disassembly syntax: {@code sarb      [L1: +305419896], 0x1}
     */
    // Template#: 10459, Serial#: 1951
    public void rip_sarb___1_r1951(int rel32) {
        assemble0342((byte) 0xD0, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarl  }<i>rel32</i>
     * Example disassembly syntax: {@code sarl      [L1: +305419896], 0x1}
     */
    // Template#: 10460, Serial#: 2023
    public void rip_sarl___1(int rel32) {
        assemble0341((byte) 0xD1, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarq  }<i>rel32</i>
     * Example disassembly syntax: {@code sarq      [L1: +305419896], 0x1}
     */
    // Template#: 10461, Serial#: 2095
    public void rip_sarq___1(int rel32) {
        assemble0582((byte) 0xD1, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarw  }<i>rel32</i>
     * Example disassembly syntax: {@code sarw      [L1: +305419896], 0x1}
     */
    // Template#: 10462, Serial#: 2167
    public void rip_sarw___1(int rel32) {
        assemble0342((byte) 0xD1, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>rel32</i>
     * Example disassembly syntax: {@code sarb      [L1: +305419896], cl}
     */
    // Template#: 10463, Serial#: 2239
    public void rip_sarb___CL(int rel32) {
        assemble0341((byte) 0xD2, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>rel32</i>
     * Example disassembly syntax: {@code sarb      [L1: +305419896], cl}
     */
    // Template#: 10464, Serial#: 2311
    public void rip_sarb___CL_r2311(int rel32) {
        assemble0582((byte) 0xD2, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>rel32</i>
     * Example disassembly syntax: {@code sarb      [L1: +305419896], cl}
     */
    // Template#: 10465, Serial#: 2383
    public void rip_sarb___CL_r2383(int rel32) {
        assemble0342((byte) 0xD2, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarl  }<i>rel32</i>
     * Example disassembly syntax: {@code sarl      [L1: +305419896], cl}
     */
    // Template#: 10466, Serial#: 2455
    public void rip_sarl___CL(int rel32) {
        assemble0341((byte) 0xD3, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarq  }<i>rel32</i>
     * Example disassembly syntax: {@code sarq      [L1: +305419896], cl}
     */
    // Template#: 10467, Serial#: 2527
    public void rip_sarq___CL(int rel32) {
        assemble0582((byte) 0xD3, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarw  }<i>rel32</i>
     * Example disassembly syntax: {@code sarw      [L1: +305419896], cl}
     */
    // Template#: 10468, Serial#: 2599
    public void rip_sarw___CL(int rel32) {
        assemble0342((byte) 0xD3, (byte) 0x07, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarb      [L1: +305419896], 0x12}
     */
    // Template#: 10469, Serial#: 1317
    public void rip_sarb(int rel32, byte imm8) {
        assemble0123((byte) 0xC0, (byte) 0x07, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarb      [L1: +305419896], 0x12}
     */
    // Template#: 10470, Serial#: 1389
    public void rip_sarb_r1389(int rel32, byte imm8) {
        assemble0124((byte) 0xC0, (byte) 0x07, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarb      [L1: +305419896], 0x12}
     */
    // Template#: 10471, Serial#: 1461
    public void rip_sarb_r1461(int rel32, byte imm8) {
        assemble0125((byte) 0xC0, (byte) 0x07, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarl  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarl      [L1: +305419896], 0x12}
     */
    // Template#: 10472, Serial#: 1533
    public void rip_sarl(int rel32, byte imm8) {
        assemble0123((byte) 0xC1, (byte) 0x07, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarq  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarq      [L1: +305419896], 0x12}
     */
    // Template#: 10473, Serial#: 1605
    public void rip_sarq(int rel32, byte imm8) {
        assemble0124((byte) 0xC1, (byte) 0x07, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarw  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarw      [L1: +305419896], 0x12}
     */
    // Template#: 10474, Serial#: 1677
    public void rip_sarw(int rel32, byte imm8) {
        assemble0125((byte) 0xC1, (byte) 0x07, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarb      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 10475, Serial#: 1839
    public void sarb___1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD0, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarb      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 10476, Serial#: 1911
    public void sarb___1_r1911(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD0, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarb      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 10477, Serial#: 1983
    public void sarb___1_r1983(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD0, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarl      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 10478, Serial#: 2055
    public void sarl___1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD1, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarq      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 10479, Serial#: 2127
    public void sarq___1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD1, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarw      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 10480, Serial#: 2199
    public void sarw___1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD1, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarb      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 10481, Serial#: 2271
    public void sarb___CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD2, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarb      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 10482, Serial#: 2343
    public void sarb___CL_r2343(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD2, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarb      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 10483, Serial#: 2415
    public void sarb___CL_r2415(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD2, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarl      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 10484, Serial#: 2487
    public void sarl___CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD3, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarq      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 10485, Serial#: 2559
    public void sarq___CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD3, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarw      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 10486, Serial#: 2631
    public void sarw___CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD3, (byte) 0x07, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 10487, Serial#: 1349
    public void sarb(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0xC0, (byte) 0x07, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 10488, Serial#: 1421
    public void sarb_r1421(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0xC0, (byte) 0x07, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 10489, Serial#: 1493
    public void sarb_r1493(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0xC0, (byte) 0x07, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarl      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 10490, Serial#: 1565
    public void sarl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0xC1, (byte) 0x07, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarq      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 10491, Serial#: 1637
    public void sarq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0xC1, (byte) 0x07, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarw      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 10492, Serial#: 1709
    public void sarw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0xC1, (byte) 0x07, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarb      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 10493, Serial#: 1806
    public void m_sarb___1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD0, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarb      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 10494, Serial#: 1878
    public void m_sarb___1_r1878(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD0, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarb      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 10495, Serial#: 1950
    public void m_sarb___1_r1950(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD0, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarl      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 10496, Serial#: 2022
    public void m_sarl___1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD1, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarq      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 10497, Serial#: 2094
    public void m_sarq___1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD1, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarw      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 10498, Serial#: 2166
    public void m_sarw___1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD1, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarb      0x12345678[rsi * 4], cl}
     */
    // Template#: 10499, Serial#: 2238
    public void m_sarb___CL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD2, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarb      0x12345678[rsi * 4], cl}
     */
    // Template#: 10500, Serial#: 2310
    public void m_sarb___CL_r2310(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD2, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarb      0x12345678[rsi * 4], cl}
     */
    // Template#: 10501, Serial#: 2382
    public void m_sarb___CL_r2382(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD2, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarl      0x12345678[rsi * 4], cl}
     */
    // Template#: 10502, Serial#: 2454
    public void m_sarl___CL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD3, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarq      0x12345678[rsi * 4], cl}
     */
    // Template#: 10503, Serial#: 2526
    public void m_sarq___CL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD3, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sarw      0x12345678[rsi * 4], cl}
     */
    // Template#: 10504, Serial#: 2598
    public void m_sarw___CL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD3, (byte) 0x07, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 10505, Serial#: 1316
    public void m_sarb(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0xC0, (byte) 0x07, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 10506, Serial#: 1388
    public void m_sarb_r1388(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0xC0, (byte) 0x07, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 10507, Serial#: 1460
    public void m_sarb_r1460(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0xC0, (byte) 0x07, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarl  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarl      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 10508, Serial#: 1532
    public void m_sarl(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0xC1, (byte) 0x07, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarq      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 10509, Serial#: 1604
    public void m_sarq(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0xC1, (byte) 0x07, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarw  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarw      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 10510, Serial#: 1676
    public void m_sarw(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0xC1, (byte) 0x07, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code sarb      [rbx + 305419896], 0x1}
     */
    // Template#: 10511, Serial#: 1838
    public void sarb___1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD0, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code sarb      [rbx + 305419896], 0x1}
     */
    // Template#: 10512, Serial#: 1910
    public void sarb___1_r1910(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD0, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code sarb      [rbx + 305419896], 0x1}
     */
    // Template#: 10513, Serial#: 1982
    public void sarb___1_r1982(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD0, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code sarl      [rbx + 305419896], 0x1}
     */
    // Template#: 10514, Serial#: 2054
    public void sarl___1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD1, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code sarq      [rbx + 305419896], 0x1}
     */
    // Template#: 10515, Serial#: 2126
    public void sarq___1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD1, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code sarw      [rbx + 305419896], 0x1}
     */
    // Template#: 10516, Serial#: 2198
    public void sarw___1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD1, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code sarb      [rbx + 305419896], cl}
     */
    // Template#: 10517, Serial#: 2270
    public void sarb___CL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD2, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code sarb      [rbx + 305419896], cl}
     */
    // Template#: 10518, Serial#: 2342
    public void sarb___CL_r2342(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD2, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code sarb      [rbx + 305419896], cl}
     */
    // Template#: 10519, Serial#: 2414
    public void sarb___CL_r2414(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD2, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code sarl      [rbx + 305419896], cl}
     */
    // Template#: 10520, Serial#: 2486
    public void sarl___CL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD3, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code sarq      [rbx + 305419896], cl}
     */
    // Template#: 10521, Serial#: 2558
    public void sarq___CL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD3, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code sarw      [rbx + 305419896], cl}
     */
    // Template#: 10522, Serial#: 2630
    public void sarw___CL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD3, (byte) 0x07, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarb      [rbx + 305419896], 0x12}
     */
    // Template#: 10523, Serial#: 1348
    public void sarb(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0xC0, (byte) 0x07, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarb      [rbx + 305419896], 0x12}
     */
    // Template#: 10524, Serial#: 1420
    public void sarb_r1420(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0xC0, (byte) 0x07, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarb      [rbx + 305419896], 0x12}
     */
    // Template#: 10525, Serial#: 1492
    public void sarb_r1492(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0xC0, (byte) 0x07, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarl  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarl      [rbx + 305419896], 0x12}
     */
    // Template#: 10526, Serial#: 1564
    public void sarl(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0xC1, (byte) 0x07, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarq  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarq      [rbx + 305419896], 0x12}
     */
    // Template#: 10527, Serial#: 1636
    public void sarq(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0xC1, (byte) 0x07, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sarw  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sarw      [rbx + 305419896], 0x12}
     */
    // Template#: 10528, Serial#: 1708
    public void sarw(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0xC1, (byte) 0x07, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>imm8</i>
     * Example disassembly syntax: {@code sbb       al, 0x12}
     */
    // Template#: 10529, Serial#: 3335
    public void sbb_AL(byte imm8) {
        assemble0001((byte) 0x1C, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>imm8</i>
     * Example disassembly syntax: {@code sbb       al, 0x12}
     */
    // Template#: 10530, Serial#: 3336
    public void sbb_AL_r3336(byte imm8) {
        assemble0002((byte) 0x1C, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>imm8</i>
     * Example disassembly syntax: {@code sbb       al, 0x12}
     */
    // Template#: 10531, Serial#: 3337
    public void sbb_AL_r3337(byte imm8) {
        assemble0003((byte) 0x1C, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 10532, Serial#: 536
    public void sbbb(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0x80, (byte) 0x03, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 10533, Serial#: 608
    public void sbbb_r608(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0x80, (byte) 0x03, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 10534, Serial#: 680
    public void sbbb_r680(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0x80, (byte) 0x03, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbl      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 10535, Serial#: 968
    public void sbbl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0x83, (byte) 0x03, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbq      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 10536, Serial#: 1040
    public void sbbq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0x83, (byte) 0x03, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbw      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 10537, Serial#: 1112
    public void sbbw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0x83, (byte) 0x03, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       rbx[rsi * 4 + 18], ax}
     */
    // Template#: 10538, Serial#: 3277
    public void sbb(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0007((byte) 0x19, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       rbx[rsi * 4 + 18], eax}
     */
    // Template#: 10539, Serial#: 3259
    public void sbb(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0008((byte) 0x19, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       rbx[rsi * 4 + 18], rax}
     */
    // Template#: 10540, Serial#: 3268
    public void sbb(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0009((byte) 0x19, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       rbx[rsi * 4 + 18], al}
     */
    // Template#: 10541, Serial#: 3232
    public void sbb(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0010((byte) 0x18, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       rbx[rsi * 4 + 18], al}
     */
    // Template#: 10542, Serial#: 3241
    public void sbb_r3241(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0011((byte) 0x18, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       rbx[rsi * 4 + 18], al}
     */
    // Template#: 10543, Serial#: 3250
    public void sbb_r3250(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0012((byte) 0x18, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code sbbl      rbx[rsi * 4 + 18], 0x12345678}
     */
    // Template#: 10544, Serial#: 752
    public void sbbl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0013((byte) 0x81, (byte) 0x03, disp8, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code sbbq      rbx[rsi * 4 + 18], 0x12345678}
     */
    // Template#: 10545, Serial#: 824
    public void sbbq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0014((byte) 0x81, (byte) 0x03, disp8, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code sbbw      rbx[rsi * 4 + 18], 0x1234}
     */
    // Template#: 10546, Serial#: 896
    public void sbbw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0015((byte) 0x81, (byte) 0x03, disp8, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbb      [rbx + 18], 0x12}
     */
    // Template#: 10547, Serial#: 535
    public void sbbb(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0x80, (byte) 0x03, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbb      [rbx + 18], 0x12}
     */
    // Template#: 10548, Serial#: 607
    public void sbbb_r607(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0x80, (byte) 0x03, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbb      [rbx + 18], 0x12}
     */
    // Template#: 10549, Serial#: 679
    public void sbbb_r679(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0x80, (byte) 0x03, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbl  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbl      [rbx + 18], 0x12}
     */
    // Template#: 10550, Serial#: 967
    public void sbbl(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0x83, (byte) 0x03, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbq  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbq      [rbx + 18], 0x12}
     */
    // Template#: 10551, Serial#: 1039
    public void sbbq(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0x83, (byte) 0x03, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbw  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbw      [rbx + 18], 0x12}
     */
    // Template#: 10552, Serial#: 1111
    public void sbbw(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0x83, (byte) 0x03, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       [rbx + 18], ax}
     */
    // Template#: 10553, Serial#: 3276
    public void sbb(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0019((byte) 0x19, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       [rbx + 18], eax}
     */
    // Template#: 10554, Serial#: 3258
    public void sbb(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0020((byte) 0x19, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       [rbx + 18], rax}
     */
    // Template#: 10555, Serial#: 3267
    public void sbb(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0021((byte) 0x19, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       [rbx + 18], al}
     */
    // Template#: 10556, Serial#: 3231
    public void sbb(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0022((byte) 0x18, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       [rbx + 18], al}
     */
    // Template#: 10557, Serial#: 3240
    public void sbb_r3240(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0023((byte) 0x18, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       [rbx + 18], al}
     */
    // Template#: 10558, Serial#: 3249
    public void sbb_r3249(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0024((byte) 0x18, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbl  }<i>disp8</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code sbbl      [rbx + 18], 0x12345678}
     */
    // Template#: 10559, Serial#: 751
    public void sbbl(byte disp8, AMD64IndirectRegister64 destination, int imm32) {
        assemble0025((byte) 0x81, (byte) 0x03, disp8, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbq  }<i>disp8</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code sbbq      [rbx + 18], 0x12345678}
     */
    // Template#: 10560, Serial#: 823
    public void sbbq(byte disp8, AMD64IndirectRegister64 destination, int imm32) {
        assemble0026((byte) 0x81, (byte) 0x03, disp8, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbw  }<i>disp8</i>, <i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code sbbw      [rbx + 18], 0x1234}
     */
    // Template#: 10561, Serial#: 895
    public void sbbw(byte disp8, AMD64IndirectRegister64 destination, short imm16) {
        assemble0027((byte) 0x81, (byte) 0x03, disp8, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbb      rbx[rsi * 4], 0x12}
     */
    // Template#: 10562, Serial#: 510
    public void sbbb(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0x80, (byte) 0x03, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbb      rbx[rsi * 4], 0x12}
     */
    // Template#: 10563, Serial#: 582
    public void sbbb_r582(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0x80, (byte) 0x03, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbb      rbx[rsi * 4], 0x12}
     */
    // Template#: 10564, Serial#: 654
    public void sbbb_r654(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0x80, (byte) 0x03, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbl  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbl      rbx[rsi * 4], 0x12}
     */
    // Template#: 10565, Serial#: 942
    public void sbbl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0x83, (byte) 0x03, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbq      rbx[rsi * 4], 0x12}
     */
    // Template#: 10566, Serial#: 1014
    public void sbbq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0x83, (byte) 0x03, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbw  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbw      rbx[rsi * 4], 0x12}
     */
    // Template#: 10567, Serial#: 1086
    public void sbbw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0x83, (byte) 0x03, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       rbx[rsi * 4], ax}
     */
    // Template#: 10568, Serial#: 3273
    public void sbb(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0031((byte) 0x19, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       rbx[rsi * 4], eax}
     */
    // Template#: 10569, Serial#: 3255
    public void sbb(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0032((byte) 0x19, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       rbx[rsi * 4], rax}
     */
    // Template#: 10570, Serial#: 3264
    public void sbb(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0033((byte) 0x19, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       rbx[rsi * 4], al}
     */
    // Template#: 10571, Serial#: 3228
    public void sbb(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0034((byte) 0x18, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       rbx[rsi * 4], al}
     */
    // Template#: 10572, Serial#: 3237
    public void sbb_r3237(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0035((byte) 0x18, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       rbx[rsi * 4], al}
     */
    // Template#: 10573, Serial#: 3246
    public void sbb_r3246(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0036((byte) 0x18, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbl  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code sbbl      rbx[rsi * 4], 0x12345678}
     */
    // Template#: 10574, Serial#: 726
    public void sbbl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0037((byte) 0x81, (byte) 0x03, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code sbbq      rbx[rsi * 4], 0x12345678}
     */
    // Template#: 10575, Serial#: 798
    public void sbbq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0038((byte) 0x81, (byte) 0x03, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbw  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code sbbw      rbx[rsi * 4], 0x1234}
     */
    // Template#: 10576, Serial#: 870
    public void sbbw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0039((byte) 0x81, (byte) 0x03, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbw      ax, 0x12}
     */
    // Template#: 10577, Serial#: 1140
    public void sbbw(AMD64GeneralRegister16 destination, byte imm8) {
        assemble0040((byte) 0x83, (byte) 0x03, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sbb       ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 10578, Serial#: 3331
    public void sbb(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0041((byte) 0x1B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       ax, [rbx + 18]}
     */
    // Template#: 10579, Serial#: 3330
    public void sbb(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0042((byte) 0x1B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sbb       ax, rbx[rsi * 4]}
     */
    // Template#: 10580, Serial#: 3327
    public void sbb(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0043((byte) 0x1B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       ax, ax}
     */
    // Template#: 10581, Serial#: 3280
    public void sbb(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0044((byte) 0x19, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       ax, ax}
     */
    // Template#: 10582, Serial#: 3334
    public void sbb_r3334(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0045((byte) 0x1B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       ax, [rbx]}
     */
    // Template#: 10583, Serial#: 3326
    public void sbb(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0046((byte) 0x1B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code sbb       ax, [L1: +305419896]}
     */
    // Template#: 10584, Serial#: 3329
    public void rip_sbb(AMD64GeneralRegister16 destination, int rel32) {
        assemble0047((byte) 0x1B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sbb       ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10585, Serial#: 3333
    public void sbb(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0048((byte) 0x1B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sbb       ax, 0x12345678[rsi * 4]}
     */
    // Template#: 10586, Serial#: 3328
    public void m_sbb(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0049((byte) 0x1B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       ax, [rbx + 305419896]}
     */
    // Template#: 10587, Serial#: 3332
    public void sbb(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0050((byte) 0x1B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbw  }<i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code sbbw      ax, 0x1234}
     */
    // Template#: 10588, Serial#: 924
    public void sbbw(AMD64GeneralRegister16 destination, short imm16) {
        assemble0051((byte) 0x81, (byte) 0x03, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbl  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbl      eax, 0x12}
     */
    // Template#: 10589, Serial#: 996
    public void sbbl(AMD64GeneralRegister32 destination, byte imm8) {
        assemble0052((byte) 0x83, (byte) 0x03, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sbb       eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 10590, Serial#: 3313
    public void sbb(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0053((byte) 0x1B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       eax, [rbx + 18]}
     */
    // Template#: 10591, Serial#: 3312
    public void sbb(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0054((byte) 0x1B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sbb       eax, rbx[rsi * 4]}
     */
    // Template#: 10592, Serial#: 3309
    public void sbb(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0055((byte) 0x1B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       eax, eax}
     */
    // Template#: 10593, Serial#: 3262
    public void sbb(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0056((byte) 0x19, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       eax, eax}
     */
    // Template#: 10594, Serial#: 3316
    public void sbb_r3316(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0057((byte) 0x1B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       eax, [rbx]}
     */
    // Template#: 10595, Serial#: 3308
    public void sbb(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0058((byte) 0x1B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbl  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code sbbl      eax, 0x12345678}
     */
    // Template#: 10596, Serial#: 780
    public void sbbl(AMD64GeneralRegister32 destination, int imm32) {
        assemble0060((byte) 0x81, (byte) 0x03, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code sbb       eax, [L1: +305419896]}
     */
    // Template#: 10597, Serial#: 3311
    public void rip_sbb(AMD64GeneralRegister32 destination, int rel32) {
        assemble0059((byte) 0x1B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sbb       eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10598, Serial#: 3315
    public void sbb(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0061((byte) 0x1B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sbb       eax, 0x12345678[rsi * 4]}
     */
    // Template#: 10599, Serial#: 3310
    public void m_sbb(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0062((byte) 0x1B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       eax, [rbx + 305419896]}
     */
    // Template#: 10600, Serial#: 3314
    public void sbb(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0063((byte) 0x1B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbq      rax, 0x12}
     */
    // Template#: 10601, Serial#: 1068
    public void sbbq(AMD64GeneralRegister64 destination, byte imm8) {
        assemble0064((byte) 0x83, (byte) 0x03, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sbb       rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 10602, Serial#: 3322
    public void sbb(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0065((byte) 0x1B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       rax, [rbx + 18]}
     */
    // Template#: 10603, Serial#: 3321
    public void sbb(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0066((byte) 0x1B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sbb       rax, rbx[rsi * 4]}
     */
    // Template#: 10604, Serial#: 3318
    public void sbb(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0067((byte) 0x1B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       rax, rax}
     */
    // Template#: 10605, Serial#: 3271
    public void sbb(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0068((byte) 0x19, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       rax, rax}
     */
    // Template#: 10606, Serial#: 3325
    public void sbb_r3325(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0069((byte) 0x1B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       rax, [rbx]}
     */
    // Template#: 10607, Serial#: 3317
    public void sbb(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0070((byte) 0x1B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbq  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code sbbq      rax, 0x12345678}
     */
    // Template#: 10608, Serial#: 852
    public void sbbq(AMD64GeneralRegister64 destination, int imm32) {
        assemble0072((byte) 0x81, (byte) 0x03, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code sbb       rax, [L1: +305419896]}
     */
    // Template#: 10609, Serial#: 3320
    public void rip_sbb(AMD64GeneralRegister64 destination, int rel32) {
        assemble0071((byte) 0x1B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sbb       rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10610, Serial#: 3324
    public void sbb(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0073((byte) 0x1B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sbb       rax, 0x12345678[rsi * 4]}
     */
    // Template#: 10611, Serial#: 3319
    public void m_sbb(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0074((byte) 0x1B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       rax, [rbx + 305419896]}
     */
    // Template#: 10612, Serial#: 3323
    public void sbb(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0075((byte) 0x1B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbb      al, 0x12}
     */
    // Template#: 10613, Serial#: 564
    public void sbbb(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0076((byte) 0x80, (byte) 0x03, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbb      al, 0x12}
     */
    // Template#: 10614, Serial#: 636
    public void sbbb_r636(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0077((byte) 0x80, (byte) 0x03, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbb      al, 0x12}
     */
    // Template#: 10615, Serial#: 708
    public void sbbb_r708(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0078((byte) 0x80, (byte) 0x03, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sbb       al, rbx[rsi * 4 + 18]}
     */
    // Template#: 10616, Serial#: 3286
    public void sbb(AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0079((byte) 0x1A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sbb       al, rbx[rsi * 4 + 18]}
     */
    // Template#: 10617, Serial#: 3295
    public void sbb_r3295(AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0080((byte) 0x1A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sbb       al, rbx[rsi * 4 + 18]}
     */
    // Template#: 10618, Serial#: 3304
    public void sbb_r3304(AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0081((byte) 0x1A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       al, [rbx + 18]}
     */
    // Template#: 10619, Serial#: 3285
    public void sbb(AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0082((byte) 0x1A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       al, [rbx + 18]}
     */
    // Template#: 10620, Serial#: 3294
    public void sbb_r3294(AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0083((byte) 0x1A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       al, [rbx + 18]}
     */
    // Template#: 10621, Serial#: 3303
    public void sbb_r3303(AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0084((byte) 0x1A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sbb       al, rbx[rsi * 4]}
     */
    // Template#: 10622, Serial#: 3282
    public void sbb(AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0085((byte) 0x1A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sbb       al, rbx[rsi * 4]}
     */
    // Template#: 10623, Serial#: 3291
    public void sbb_r3291(AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0086((byte) 0x1A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sbb       al, rbx[rsi * 4]}
     */
    // Template#: 10624, Serial#: 3300
    public void sbb_r3300(AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0087((byte) 0x1A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       al, al}
     */
    // Template#: 10625, Serial#: 3235
    public void sbb(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0088((byte) 0x18, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       al, al}
     */
    // Template#: 10626, Serial#: 3244
    public void sbb_r3244(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0089((byte) 0x18, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       al, al}
     */
    // Template#: 10627, Serial#: 3253
    public void sbb_r3253(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0090((byte) 0x18, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       al, al}
     */
    // Template#: 10628, Serial#: 3289
    public void sbb_r3289(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0091((byte) 0x1A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       al, al}
     */
    // Template#: 10629, Serial#: 3298
    public void sbb_r3298(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0092((byte) 0x1A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       al, al}
     */
    // Template#: 10630, Serial#: 3307
    public void sbb_r3307(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0093((byte) 0x1A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       al, [rbx]}
     */
    // Template#: 10631, Serial#: 3281
    public void sbb(AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        assemble0094((byte) 0x1A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       al, [rbx]}
     */
    // Template#: 10632, Serial#: 3290
    public void sbb_r3290(AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        assemble0095((byte) 0x1A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       al, [rbx]}
     */
    // Template#: 10633, Serial#: 3299
    public void sbb_r3299(AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        assemble0096((byte) 0x1A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code sbb       al, [L1: +305419896]}
     */
    // Template#: 10634, Serial#: 3284
    public void rip_sbb(AMD64GeneralRegister8 destination, int rel32) {
        assemble0097((byte) 0x1A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code sbb       al, [L1: +305419896]}
     */
    // Template#: 10635, Serial#: 3293
    public void rip_sbb_r3293(AMD64GeneralRegister8 destination, int rel32) {
        assemble0098((byte) 0x1A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code sbb       al, [L1: +305419896]}
     */
    // Template#: 10636, Serial#: 3302
    public void rip_sbb_r3302(AMD64GeneralRegister8 destination, int rel32) {
        assemble0099((byte) 0x1A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sbb       al, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10637, Serial#: 3288
    public void sbb(AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0100((byte) 0x1A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sbb       al, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10638, Serial#: 3297
    public void sbb_r3297(AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0101((byte) 0x1A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sbb       al, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10639, Serial#: 3306
    public void sbb_r3306(AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0102((byte) 0x1A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sbb       al, 0x12345678[rsi * 4]}
     */
    // Template#: 10640, Serial#: 3283
    public void m_sbb(AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0103((byte) 0x1A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sbb       al, 0x12345678[rsi * 4]}
     */
    // Template#: 10641, Serial#: 3292
    public void m_sbb_r3292(AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0104((byte) 0x1A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sbb       al, 0x12345678[rsi * 4]}
     */
    // Template#: 10642, Serial#: 3301
    public void m_sbb_r3301(AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0105((byte) 0x1A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       al, [rbx + 305419896]}
     */
    // Template#: 10643, Serial#: 3287
    public void sbb(AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0106((byte) 0x1A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       al, [rbx + 305419896]}
     */
    // Template#: 10644, Serial#: 3296
    public void sbb_r3296(AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0107((byte) 0x1A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       al, [rbx + 305419896]}
     */
    // Template#: 10645, Serial#: 3305
    public void sbb_r3305(AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0108((byte) 0x1A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbb      [rbx], 0x12}
     */
    // Template#: 10646, Serial#: 509
    public void sbbb(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0x80, (byte) 0x03, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbb      [rbx], 0x12}
     */
    // Template#: 10647, Serial#: 581
    public void sbbb_r581(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0x80, (byte) 0x03, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbb      [rbx], 0x12}
     */
    // Template#: 10648, Serial#: 653
    public void sbbb_r653(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0x80, (byte) 0x03, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbl  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbl      [rbx], 0x12}
     */
    // Template#: 10649, Serial#: 941
    public void sbbl(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0x83, (byte) 0x03, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbq      [rbx], 0x12}
     */
    // Template#: 10650, Serial#: 1013
    public void sbbq(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0x83, (byte) 0x03, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbw      [rbx], 0x12}
     */
    // Template#: 10651, Serial#: 1085
    public void sbbw(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0x83, (byte) 0x03, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       [rbx], ax}
     */
    // Template#: 10652, Serial#: 3272
    public void sbb(AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0112((byte) 0x19, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       [rbx], eax}
     */
    // Template#: 10653, Serial#: 3254
    public void sbb(AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0113((byte) 0x19, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       [rbx], rax}
     */
    // Template#: 10654, Serial#: 3263
    public void sbb(AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0114((byte) 0x19, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       [rbx], al}
     */
    // Template#: 10655, Serial#: 3227
    public void sbb(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0115((byte) 0x18, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       [rbx], al}
     */
    // Template#: 10656, Serial#: 3236
    public void sbb_r3236(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0116((byte) 0x18, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       [rbx], al}
     */
    // Template#: 10657, Serial#: 3245
    public void sbb_r3245(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0117((byte) 0x18, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbl  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code sbbl      [rbx], 0x12345678}
     */
    // Template#: 10658, Serial#: 725
    public void sbbl(AMD64IndirectRegister64 destination, int imm32) {
        assemble0118((byte) 0x81, (byte) 0x03, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbq  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code sbbq      [rbx], 0x12345678}
     */
    // Template#: 10659, Serial#: 797
    public void sbbq(AMD64IndirectRegister64 destination, int imm32) {
        assemble0119((byte) 0x81, (byte) 0x03, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbw  }<i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code sbbw      [rbx], 0x1234}
     */
    // Template#: 10660, Serial#: 869
    public void sbbw(AMD64IndirectRegister64 destination, short imm16) {
        assemble0120((byte) 0x81, (byte) 0x03, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>imm32</i>
     * Example disassembly syntax: {@code sbb       eax, 0x12345678}
     */
    // Template#: 10661, Serial#: 3338
    public void sbb_EAX(int imm32) {
        assemble0121((byte) 0x1D, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>imm32</i>
     * Example disassembly syntax: {@code sbb       rax, 0x12345678}
     */
    // Template#: 10662, Serial#: 3339
    public void sbb_RAX(int imm32) {
        assemble0122((byte) 0x1D, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbb      [L1: +305419896], 0x12}
     */
    // Template#: 10663, Serial#: 512
    public void rip_sbbb(int rel32, byte imm8) {
        assemble0123((byte) 0x80, (byte) 0x03, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbb      [L1: +305419896], 0x12}
     */
    // Template#: 10664, Serial#: 584
    public void rip_sbbb_r584(int rel32, byte imm8) {
        assemble0124((byte) 0x80, (byte) 0x03, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbb      [L1: +305419896], 0x12}
     */
    // Template#: 10665, Serial#: 656
    public void rip_sbbb_r656(int rel32, byte imm8) {
        assemble0125((byte) 0x80, (byte) 0x03, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbl  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbl      [L1: +305419896], 0x12}
     */
    // Template#: 10666, Serial#: 944
    public void rip_sbbl(int rel32, byte imm8) {
        assemble0123((byte) 0x83, (byte) 0x03, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbq  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbq      [L1: +305419896], 0x12}
     */
    // Template#: 10667, Serial#: 1016
    public void rip_sbbq(int rel32, byte imm8) {
        assemble0124((byte) 0x83, (byte) 0x03, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbw  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbw      [L1: +305419896], 0x12}
     */
    // Template#: 10668, Serial#: 1088
    public void rip_sbbw(int rel32, byte imm8) {
        assemble0125((byte) 0x83, (byte) 0x03, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 10669, Serial#: 552
    public void sbbb(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0x80, (byte) 0x03, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 10670, Serial#: 624
    public void sbbb_r624(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0x80, (byte) 0x03, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 10671, Serial#: 696
    public void sbbb_r696(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0x80, (byte) 0x03, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbl      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 10672, Serial#: 984
    public void sbbl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0x83, (byte) 0x03, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbq      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 10673, Serial#: 1056
    public void sbbq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0x83, (byte) 0x03, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbw      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 10674, Serial#: 1128
    public void sbbw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0x83, (byte) 0x03, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       rbx[rsi * 4 + 305419896], ax}
     */
    // Template#: 10675, Serial#: 3279
    public void sbb(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0129((byte) 0x19, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       rbx[rsi * 4 + 305419896], eax}
     */
    // Template#: 10676, Serial#: 3261
    public void sbb(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0130((byte) 0x19, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       rbx[rsi * 4 + 305419896], rax}
     */
    // Template#: 10677, Serial#: 3270
    public void sbb(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0131((byte) 0x19, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 10678, Serial#: 3234
    public void sbb(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0132((byte) 0x18, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 10679, Serial#: 3243
    public void sbb_r3243(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0133((byte) 0x18, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 10680, Serial#: 3252
    public void sbb_r3252(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0134((byte) 0x18, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code sbbl      rbx[rsi * 4 + 305419896], 0x12345678}
     */
    // Template#: 10681, Serial#: 768
    public void sbbl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0135((byte) 0x81, (byte) 0x03, disp32, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code sbbq      rbx[rsi * 4 + 305419896], 0x12345678}
     */
    // Template#: 10682, Serial#: 840
    public void sbbq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0136((byte) 0x81, (byte) 0x03, disp32, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code sbbw      rbx[rsi * 4 + 305419896], 0x1234}
     */
    // Template#: 10683, Serial#: 912
    public void sbbw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0137((byte) 0x81, (byte) 0x03, disp32, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       [L1: +305419896], ax}
     */
    // Template#: 10684, Serial#: 3275
    public void rip_sbb(int rel32, AMD64GeneralRegister16 source) {
        assemble0138((byte) 0x19, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       [L1: +305419896], eax}
     */
    // Template#: 10685, Serial#: 3257
    public void rip_sbb(int rel32, AMD64GeneralRegister32 source) {
        assemble0139((byte) 0x19, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       [L1: +305419896], rax}
     */
    // Template#: 10686, Serial#: 3266
    public void rip_sbb(int rel32, AMD64GeneralRegister64 source) {
        assemble0140((byte) 0x19, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       [L1: +305419896], al}
     */
    // Template#: 10687, Serial#: 3230
    public void rip_sbb(int rel32, AMD64GeneralRegister8 source) {
        assemble0141((byte) 0x18, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       [L1: +305419896], al}
     */
    // Template#: 10688, Serial#: 3239
    public void rip_sbb_r3239(int rel32, AMD64GeneralRegister8 source) {
        assemble0142((byte) 0x18, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       [L1: +305419896], al}
     */
    // Template#: 10689, Serial#: 3248
    public void rip_sbb_r3248(int rel32, AMD64GeneralRegister8 source) {
        assemble0143((byte) 0x18, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 10690, Serial#: 511
    public void m_sbbb(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0x80, (byte) 0x03, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 10691, Serial#: 583
    public void m_sbbb_r583(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0x80, (byte) 0x03, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 10692, Serial#: 655
    public void m_sbbb_r655(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0x80, (byte) 0x03, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbl  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbl      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 10693, Serial#: 943
    public void m_sbbl(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0x83, (byte) 0x03, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbq      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 10694, Serial#: 1015
    public void m_sbbq(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0x83, (byte) 0x03, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbw  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbw      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 10695, Serial#: 1087
    public void m_sbbw(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0x83, (byte) 0x03, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       0x12345678[rsi * 4], ax}
     */
    // Template#: 10696, Serial#: 3274
    public void m_sbb(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0147((byte) 0x19, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       0x12345678[rsi * 4], eax}
     */
    // Template#: 10697, Serial#: 3256
    public void m_sbb(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0148((byte) 0x19, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       0x12345678[rsi * 4], rax}
     */
    // Template#: 10698, Serial#: 3265
    public void m_sbb(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0149((byte) 0x19, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       0x12345678[rsi * 4], al}
     */
    // Template#: 10699, Serial#: 3229
    public void m_sbb(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0150((byte) 0x18, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       0x12345678[rsi * 4], al}
     */
    // Template#: 10700, Serial#: 3238
    public void m_sbb_r3238(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0151((byte) 0x18, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       0x12345678[rsi * 4], al}
     */
    // Template#: 10701, Serial#: 3247
    public void m_sbb_r3247(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0152((byte) 0x18, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbl  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code sbbl      0x12345678[rsi * 4], 0x12345678}
     */
    // Template#: 10702, Serial#: 727
    public void m_sbbl(int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0153((byte) 0x81, (byte) 0x03, m32, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code sbbq      0x12345678[rsi * 4], 0x12345678}
     */
    // Template#: 10703, Serial#: 799
    public void m_sbbq(int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0154((byte) 0x81, (byte) 0x03, m32, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbw  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code sbbw      0x12345678[rsi * 4], 0x1234}
     */
    // Template#: 10704, Serial#: 871
    public void m_sbbw(int m32, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0155((byte) 0x81, (byte) 0x03, m32, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbb      [rbx + 305419896], 0x12}
     */
    // Template#: 10705, Serial#: 551
    public void sbbb(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0x80, (byte) 0x03, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbb      [rbx + 305419896], 0x12}
     */
    // Template#: 10706, Serial#: 623
    public void sbbb_r623(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0x80, (byte) 0x03, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbb      [rbx + 305419896], 0x12}
     */
    // Template#: 10707, Serial#: 695
    public void sbbb_r695(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0x80, (byte) 0x03, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbl  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbl      [rbx + 305419896], 0x12}
     */
    // Template#: 10708, Serial#: 983
    public void sbbl(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0x83, (byte) 0x03, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbq  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbq      [rbx + 305419896], 0x12}
     */
    // Template#: 10709, Serial#: 1055
    public void sbbq(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0x83, (byte) 0x03, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbw  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code sbbw      [rbx + 305419896], 0x12}
     */
    // Template#: 10710, Serial#: 1127
    public void sbbw(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0x83, (byte) 0x03, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       [rbx + 305419896], ax}
     */
    // Template#: 10711, Serial#: 3278
    public void sbb(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0159((byte) 0x19, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       [rbx + 305419896], eax}
     */
    // Template#: 10712, Serial#: 3260
    public void sbb(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0160((byte) 0x19, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       [rbx + 305419896], rax}
     */
    // Template#: 10713, Serial#: 3269
    public void sbb(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0161((byte) 0x19, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       [rbx + 305419896], al}
     */
    // Template#: 10714, Serial#: 3233
    public void sbb(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0162((byte) 0x18, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       [rbx + 305419896], al}
     */
    // Template#: 10715, Serial#: 3242
    public void sbb_r3242(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0163((byte) 0x18, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sbb       [rbx + 305419896], al}
     */
    // Template#: 10716, Serial#: 3251
    public void sbb_r3251(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0164((byte) 0x18, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbl  }<i>disp32</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code sbbl      [rbx + 305419896], 0x12345678}
     */
    // Template#: 10717, Serial#: 767
    public void sbbl(int disp32, AMD64IndirectRegister64 destination, int imm32) {
        assemble0165((byte) 0x81, (byte) 0x03, disp32, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbq  }<i>disp32</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code sbbq      [rbx + 305419896], 0x12345678}
     */
    // Template#: 10718, Serial#: 839
    public void sbbq(int disp32, AMD64IndirectRegister64 destination, int imm32) {
        assemble0166((byte) 0x81, (byte) 0x03, disp32, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbw  }<i>disp32</i>, <i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code sbbw      [rbx + 305419896], 0x1234}
     */
    // Template#: 10719, Serial#: 911
    public void sbbw(int disp32, AMD64IndirectRegister64 destination, short imm16) {
        assemble0167((byte) 0x81, (byte) 0x03, disp32, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbl  }<i>rel32</i>, <i>imm32</i>
     * Example disassembly syntax: {@code sbbl      [L1: +305419896], 0x12345678}
     */
    // Template#: 10720, Serial#: 728
    public void rip_sbbl(int rel32, int imm32) {
        assemble0168((byte) 0x81, (byte) 0x03, rel32, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbq  }<i>rel32</i>, <i>imm32</i>
     * Example disassembly syntax: {@code sbbq      [L1: +305419896], 0x12345678}
     */
    // Template#: 10721, Serial#: 800
    public void rip_sbbq(int rel32, int imm32) {
        assemble0169((byte) 0x81, (byte) 0x03, rel32, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbbw  }<i>rel32</i>, <i>imm16</i>
     * Example disassembly syntax: {@code sbbw      [L1: +305419896], 0x1234}
     */
    // Template#: 10722, Serial#: 872
    public void rip_sbbw(int rel32, short imm16) {
        assemble0170((byte) 0x81, (byte) 0x03, rel32, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code sbb  }<i>imm16</i>
     * Example disassembly syntax: {@code sbb       ax, 0x1234}
     */
    // Template#: 10723, Serial#: 3340
    public void sbb_AX(short imm16) {
        assemble0171((byte) 0x1D, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code scasb  }
     * Example disassembly syntax: {@code scasb   }
     */
    // Template#: 10724, Serial#: 3892
    public void scasb() {
        assemble0208((byte) 0xAE);
    }

    /**
     * Pseudo-external assembler syntax: {@code scasb  }
     * Example disassembly syntax: {@code scasb   }
     */
    // Template#: 10725, Serial#: 3893
    public void scasb_r3893() {
        assemble0209((byte) 0xAE);
    }

    /**
     * Pseudo-external assembler syntax: {@code scasb  }
     * Example disassembly syntax: {@code scasb   }
     */
    // Template#: 10726, Serial#: 3894
    public void scasb_r3894() {
        assemble0210((byte) 0xAE);
    }

    /**
     * Pseudo-external assembler syntax: {@code scasl  }
     * Example disassembly syntax: {@code scasl   }
     */
    // Template#: 10727, Serial#: 3895
    public void scasl() {
        assemble0208((byte) 0xAF);
    }

    /**
     * Pseudo-external assembler syntax: {@code scasq  }
     * Example disassembly syntax: {@code scasq   }
     */
    // Template#: 10728, Serial#: 3896
    public void scasq() {
        assemble0209((byte) 0xAF);
    }

    /**
     * Pseudo-external assembler syntax: {@code scasw  }
     * Example disassembly syntax: {@code scasw   }
     */
    // Template#: 10729, Serial#: 3897
    public void scasw() {
        assemble0210((byte) 0xAF);
    }

    /**
     * Pseudo-external assembler syntax: {@code seg_cs  }
     * Example disassembly syntax: {@code seg_cs  }
     */
    // Template#: 10730, Serial#: 3455
    public void seg_cs() {
        assemble0208((byte) 0x2E);
    }

    /**
     * Pseudo-external assembler syntax: {@code seg_cs  }
     * Example disassembly syntax: {@code seg_cs  }
     */
    // Template#: 10731, Serial#: 3456
    public void seg_cs_r3456() {
        assemble0209((byte) 0x2E);
    }

    /**
     * Pseudo-external assembler syntax: {@code seg_cs  }
     * Example disassembly syntax: {@code seg_cs  }
     */
    // Template#: 10732, Serial#: 3457
    public void seg_cs_r3457() {
        assemble0210((byte) 0x2E);
    }

    /**
     * Pseudo-external assembler syntax: {@code seg_fs  }
     * Example disassembly syntax: {@code seg_fs  }
     */
    // Template#: 10733, Serial#: 477
    public void seg_fs() {
        assemble0208((byte) 0x64);
    }

    /**
     * Pseudo-external assembler syntax: {@code seg_fs  }
     * Example disassembly syntax: {@code seg_fs  }
     */
    // Template#: 10734, Serial#: 478
    public void seg_fs_r478() {
        assemble0209((byte) 0x64);
    }

    /**
     * Pseudo-external assembler syntax: {@code seg_fs  }
     * Example disassembly syntax: {@code seg_fs  }
     */
    // Template#: 10735, Serial#: 479
    public void seg_fs_r479() {
        assemble0210((byte) 0x64);
    }

    /**
     * Pseudo-external assembler syntax: {@code seg_gs  }
     * Example disassembly syntax: {@code seg_gs  }
     */
    // Template#: 10736, Serial#: 480
    public void seg_gs() {
        assemble0208((byte) 0x65);
    }

    /**
     * Pseudo-external assembler syntax: {@code seg_gs  }
     * Example disassembly syntax: {@code seg_gs  }
     */
    // Template#: 10737, Serial#: 481
    public void seg_gs_r481() {
        assemble0209((byte) 0x65);
    }

    /**
     * Pseudo-external assembler syntax: {@code seg_gs  }
     * Example disassembly syntax: {@code seg_gs  }
     */
    // Template#: 10738, Serial#: 482
    public void seg_gs_r482() {
        assemble0210((byte) 0x65);
    }

    /**
     * Pseudo-external assembler syntax: {@code setb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setb      rbx[rsi * 4 + 18]}
     */
    // Template#: 10739, Serial#: 7575
    public void setb(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1111((byte) 0x92, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setb      rbx[rsi * 4 + 18]}
     */
    // Template#: 10740, Serial#: 7584
    public void setb_r7584(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1112((byte) 0x92, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setb      rbx[rsi * 4 + 18]}
     */
    // Template#: 10741, Serial#: 7593
    public void setb_r7593(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1113((byte) 0x92, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setb      [rbx + 18]}
     */
    // Template#: 10742, Serial#: 7574
    public void setb(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1114((byte) 0x92, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setb      [rbx + 18]}
     */
    // Template#: 10743, Serial#: 7583
    public void setb_r7583(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1115((byte) 0x92, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setb      [rbx + 18]}
     */
    // Template#: 10744, Serial#: 7592
    public void setb_r7592(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1116((byte) 0x92, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setb      rbx[rsi * 4]}
     */
    // Template#: 10745, Serial#: 7571
    public void setb(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1117((byte) 0x92, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setb      rbx[rsi * 4]}
     */
    // Template#: 10746, Serial#: 7580
    public void setb_r7580(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1118((byte) 0x92, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setb      rbx[rsi * 4]}
     */
    // Template#: 10747, Serial#: 7589
    public void setb_r7589(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1119((byte) 0x92, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setb  }<i>destination</i>
     * Example disassembly syntax: {@code setb      al}
     */
    // Template#: 10748, Serial#: 7578
    public void setb(AMD64GeneralRegister8 destination) {
        assemble1120((byte) 0x92, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setb  }<i>destination</i>
     * Example disassembly syntax: {@code setb      al}
     */
    // Template#: 10749, Serial#: 7587
    public void setb_r7587(AMD64GeneralRegister8 destination) {
        assemble1121((byte) 0x92, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setb  }<i>destination</i>
     * Example disassembly syntax: {@code setb      al}
     */
    // Template#: 10750, Serial#: 7596
    public void setb_r7596(AMD64GeneralRegister8 destination) {
        assemble1122((byte) 0x92, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setb  }<i>destination</i>
     * Example disassembly syntax: {@code setb      [rbx]}
     */
    // Template#: 10751, Serial#: 7570
    public void setb(AMD64IndirectRegister64 destination) {
        assemble1123((byte) 0x92, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setb  }<i>destination</i>
     * Example disassembly syntax: {@code setb      [rbx]}
     */
    // Template#: 10752, Serial#: 7579
    public void setb_r7579(AMD64IndirectRegister64 destination) {
        assemble1124((byte) 0x92, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setb  }<i>destination</i>
     * Example disassembly syntax: {@code setb      [rbx]}
     */
    // Template#: 10753, Serial#: 7588
    public void setb_r7588(AMD64IndirectRegister64 destination) {
        assemble1125((byte) 0x92, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setb  }<i>rel32</i>
     * Example disassembly syntax: {@code setb      [L1: +305419896]}
     */
    // Template#: 10754, Serial#: 7573
    public void rip_setb(int rel32) {
        assemble1126((byte) 0x92, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setb  }<i>rel32</i>
     * Example disassembly syntax: {@code setb      [L1: +305419896]}
     */
    // Template#: 10755, Serial#: 7582
    public void rip_setb_r7582(int rel32) {
        assemble1127((byte) 0x92, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setb  }<i>rel32</i>
     * Example disassembly syntax: {@code setb      [L1: +305419896]}
     */
    // Template#: 10756, Serial#: 7591
    public void rip_setb_r7591(int rel32) {
        assemble1128((byte) 0x92, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setb      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10757, Serial#: 7577
    public void setb(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1129((byte) 0x92, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setb      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10758, Serial#: 7586
    public void setb_r7586(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1130((byte) 0x92, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setb      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10759, Serial#: 7595
    public void setb_r7595(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1131((byte) 0x92, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setb      0x12345678[rsi * 4]}
     */
    // Template#: 10760, Serial#: 7572
    public void m_setb(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1132((byte) 0x92, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setb      0x12345678[rsi * 4]}
     */
    // Template#: 10761, Serial#: 7581
    public void m_setb_r7581(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1133((byte) 0x92, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setb      0x12345678[rsi * 4]}
     */
    // Template#: 10762, Serial#: 7590
    public void m_setb_r7590(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1134((byte) 0x92, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setb      [rbx + 305419896]}
     */
    // Template#: 10763, Serial#: 7576
    public void setb(int disp32, AMD64IndirectRegister64 destination) {
        assemble1135((byte) 0x92, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setb      [rbx + 305419896]}
     */
    // Template#: 10764, Serial#: 7585
    public void setb_r7585(int disp32, AMD64IndirectRegister64 destination) {
        assemble1136((byte) 0x92, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setb      [rbx + 305419896]}
     */
    // Template#: 10765, Serial#: 7594
    public void setb_r7594(int disp32, AMD64IndirectRegister64 destination) {
        assemble1137((byte) 0x92, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setbe  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setbe     rbx[rsi * 4 + 18]}
     */
    // Template#: 10766, Serial#: 7683
    public void setbe(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1111((byte) 0x96, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setbe  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setbe     rbx[rsi * 4 + 18]}
     */
    // Template#: 10767, Serial#: 7692
    public void setbe_r7692(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1112((byte) 0x96, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setbe  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setbe     rbx[rsi * 4 + 18]}
     */
    // Template#: 10768, Serial#: 7701
    public void setbe_r7701(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1113((byte) 0x96, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setbe  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setbe     [rbx + 18]}
     */
    // Template#: 10769, Serial#: 7682
    public void setbe(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1114((byte) 0x96, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setbe  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setbe     [rbx + 18]}
     */
    // Template#: 10770, Serial#: 7691
    public void setbe_r7691(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1115((byte) 0x96, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setbe  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setbe     [rbx + 18]}
     */
    // Template#: 10771, Serial#: 7700
    public void setbe_r7700(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1116((byte) 0x96, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setbe  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setbe     rbx[rsi * 4]}
     */
    // Template#: 10772, Serial#: 7679
    public void setbe(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1117((byte) 0x96, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setbe  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setbe     rbx[rsi * 4]}
     */
    // Template#: 10773, Serial#: 7688
    public void setbe_r7688(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1118((byte) 0x96, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setbe  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setbe     rbx[rsi * 4]}
     */
    // Template#: 10774, Serial#: 7697
    public void setbe_r7697(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1119((byte) 0x96, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setbe  }<i>destination</i>
     * Example disassembly syntax: {@code setbe     al}
     */
    // Template#: 10775, Serial#: 7686
    public void setbe(AMD64GeneralRegister8 destination) {
        assemble1120((byte) 0x96, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setbe  }<i>destination</i>
     * Example disassembly syntax: {@code setbe     al}
     */
    // Template#: 10776, Serial#: 7695
    public void setbe_r7695(AMD64GeneralRegister8 destination) {
        assemble1121((byte) 0x96, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setbe  }<i>destination</i>
     * Example disassembly syntax: {@code setbe     al}
     */
    // Template#: 10777, Serial#: 7704
    public void setbe_r7704(AMD64GeneralRegister8 destination) {
        assemble1122((byte) 0x96, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setbe  }<i>destination</i>
     * Example disassembly syntax: {@code setbe     [rbx]}
     */
    // Template#: 10778, Serial#: 7678
    public void setbe(AMD64IndirectRegister64 destination) {
        assemble1123((byte) 0x96, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setbe  }<i>destination</i>
     * Example disassembly syntax: {@code setbe     [rbx]}
     */
    // Template#: 10779, Serial#: 7687
    public void setbe_r7687(AMD64IndirectRegister64 destination) {
        assemble1124((byte) 0x96, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setbe  }<i>destination</i>
     * Example disassembly syntax: {@code setbe     [rbx]}
     */
    // Template#: 10780, Serial#: 7696
    public void setbe_r7696(AMD64IndirectRegister64 destination) {
        assemble1125((byte) 0x96, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setbe  }<i>rel32</i>
     * Example disassembly syntax: {@code setbe     [L1: +305419896]}
     */
    // Template#: 10781, Serial#: 7681
    public void rip_setbe(int rel32) {
        assemble1126((byte) 0x96, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setbe  }<i>rel32</i>
     * Example disassembly syntax: {@code setbe     [L1: +305419896]}
     */
    // Template#: 10782, Serial#: 7690
    public void rip_setbe_r7690(int rel32) {
        assemble1127((byte) 0x96, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setbe  }<i>rel32</i>
     * Example disassembly syntax: {@code setbe     [L1: +305419896]}
     */
    // Template#: 10783, Serial#: 7699
    public void rip_setbe_r7699(int rel32) {
        assemble1128((byte) 0x96, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setbe  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setbe     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10784, Serial#: 7685
    public void setbe(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1129((byte) 0x96, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setbe  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setbe     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10785, Serial#: 7694
    public void setbe_r7694(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1130((byte) 0x96, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setbe  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setbe     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10786, Serial#: 7703
    public void setbe_r7703(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1131((byte) 0x96, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setbe  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setbe     0x12345678[rsi * 4]}
     */
    // Template#: 10787, Serial#: 7680
    public void m_setbe(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1132((byte) 0x96, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setbe  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setbe     0x12345678[rsi * 4]}
     */
    // Template#: 10788, Serial#: 7689
    public void m_setbe_r7689(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1133((byte) 0x96, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setbe  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setbe     0x12345678[rsi * 4]}
     */
    // Template#: 10789, Serial#: 7698
    public void m_setbe_r7698(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1134((byte) 0x96, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setbe  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setbe     [rbx + 305419896]}
     */
    // Template#: 10790, Serial#: 7684
    public void setbe(int disp32, AMD64IndirectRegister64 destination) {
        assemble1135((byte) 0x96, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setbe  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setbe     [rbx + 305419896]}
     */
    // Template#: 10791, Serial#: 7693
    public void setbe_r7693(int disp32, AMD64IndirectRegister64 destination) {
        assemble1136((byte) 0x96, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setbe  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setbe     [rbx + 305419896]}
     */
    // Template#: 10792, Serial#: 7702
    public void setbe_r7702(int disp32, AMD64IndirectRegister64 destination) {
        assemble1137((byte) 0x96, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setl      rbx[rsi * 4 + 18]}
     */
    // Template#: 10793, Serial#: 11143
    public void setl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1111((byte) 0x9C, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setl      rbx[rsi * 4 + 18]}
     */
    // Template#: 10794, Serial#: 11152
    public void setl_r11152(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1112((byte) 0x9C, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setl      rbx[rsi * 4 + 18]}
     */
    // Template#: 10795, Serial#: 11161
    public void setl_r11161(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1113((byte) 0x9C, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setl      [rbx + 18]}
     */
    // Template#: 10796, Serial#: 11142
    public void setl(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1114((byte) 0x9C, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setl      [rbx + 18]}
     */
    // Template#: 10797, Serial#: 11151
    public void setl_r11151(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1115((byte) 0x9C, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setl      [rbx + 18]}
     */
    // Template#: 10798, Serial#: 11160
    public void setl_r11160(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1116((byte) 0x9C, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setl      rbx[rsi * 4]}
     */
    // Template#: 10799, Serial#: 11139
    public void setl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1117((byte) 0x9C, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setl      rbx[rsi * 4]}
     */
    // Template#: 10800, Serial#: 11148
    public void setl_r11148(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1118((byte) 0x9C, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setl      rbx[rsi * 4]}
     */
    // Template#: 10801, Serial#: 11157
    public void setl_r11157(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1119((byte) 0x9C, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setl  }<i>destination</i>
     * Example disassembly syntax: {@code setl      al}
     */
    // Template#: 10802, Serial#: 11146
    public void setl(AMD64GeneralRegister8 destination) {
        assemble1120((byte) 0x9C, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setl  }<i>destination</i>
     * Example disassembly syntax: {@code setl      al}
     */
    // Template#: 10803, Serial#: 11155
    public void setl_r11155(AMD64GeneralRegister8 destination) {
        assemble1121((byte) 0x9C, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setl  }<i>destination</i>
     * Example disassembly syntax: {@code setl      al}
     */
    // Template#: 10804, Serial#: 11164
    public void setl_r11164(AMD64GeneralRegister8 destination) {
        assemble1122((byte) 0x9C, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setl  }<i>destination</i>
     * Example disassembly syntax: {@code setl      [rbx]}
     */
    // Template#: 10805, Serial#: 11138
    public void setl(AMD64IndirectRegister64 destination) {
        assemble1123((byte) 0x9C, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setl  }<i>destination</i>
     * Example disassembly syntax: {@code setl      [rbx]}
     */
    // Template#: 10806, Serial#: 11147
    public void setl_r11147(AMD64IndirectRegister64 destination) {
        assemble1124((byte) 0x9C, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setl  }<i>destination</i>
     * Example disassembly syntax: {@code setl      [rbx]}
     */
    // Template#: 10807, Serial#: 11156
    public void setl_r11156(AMD64IndirectRegister64 destination) {
        assemble1125((byte) 0x9C, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setl  }<i>rel32</i>
     * Example disassembly syntax: {@code setl      [L1: +305419896]}
     */
    // Template#: 10808, Serial#: 11141
    public void rip_setl(int rel32) {
        assemble1126((byte) 0x9C, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setl  }<i>rel32</i>
     * Example disassembly syntax: {@code setl      [L1: +305419896]}
     */
    // Template#: 10809, Serial#: 11150
    public void rip_setl_r11150(int rel32) {
        assemble1127((byte) 0x9C, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setl  }<i>rel32</i>
     * Example disassembly syntax: {@code setl      [L1: +305419896]}
     */
    // Template#: 10810, Serial#: 11159
    public void rip_setl_r11159(int rel32) {
        assemble1128((byte) 0x9C, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setl      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10811, Serial#: 11145
    public void setl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1129((byte) 0x9C, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setl      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10812, Serial#: 11154
    public void setl_r11154(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1130((byte) 0x9C, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setl      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10813, Serial#: 11163
    public void setl_r11163(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1131((byte) 0x9C, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setl      0x12345678[rsi * 4]}
     */
    // Template#: 10814, Serial#: 11140
    public void m_setl(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1132((byte) 0x9C, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setl      0x12345678[rsi * 4]}
     */
    // Template#: 10815, Serial#: 11149
    public void m_setl_r11149(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1133((byte) 0x9C, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setl      0x12345678[rsi * 4]}
     */
    // Template#: 10816, Serial#: 11158
    public void m_setl_r11158(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1134((byte) 0x9C, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setl      [rbx + 305419896]}
     */
    // Template#: 10817, Serial#: 11144
    public void setl(int disp32, AMD64IndirectRegister64 destination) {
        assemble1135((byte) 0x9C, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setl      [rbx + 305419896]}
     */
    // Template#: 10818, Serial#: 11153
    public void setl_r11153(int disp32, AMD64IndirectRegister64 destination) {
        assemble1136((byte) 0x9C, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setl      [rbx + 305419896]}
     */
    // Template#: 10819, Serial#: 11162
    public void setl_r11162(int disp32, AMD64IndirectRegister64 destination) {
        assemble1137((byte) 0x9C, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setle  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setle     rbx[rsi * 4 + 18]}
     */
    // Template#: 10820, Serial#: 11197
    public void setle(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1111((byte) 0x9E, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setle  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setle     rbx[rsi * 4 + 18]}
     */
    // Template#: 10821, Serial#: 11206
    public void setle_r11206(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1112((byte) 0x9E, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setle  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setle     rbx[rsi * 4 + 18]}
     */
    // Template#: 10822, Serial#: 11215
    public void setle_r11215(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1113((byte) 0x9E, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setle  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setle     [rbx + 18]}
     */
    // Template#: 10823, Serial#: 11196
    public void setle(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1114((byte) 0x9E, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setle  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setle     [rbx + 18]}
     */
    // Template#: 10824, Serial#: 11205
    public void setle_r11205(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1115((byte) 0x9E, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setle  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setle     [rbx + 18]}
     */
    // Template#: 10825, Serial#: 11214
    public void setle_r11214(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1116((byte) 0x9E, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setle  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setle     rbx[rsi * 4]}
     */
    // Template#: 10826, Serial#: 11193
    public void setle(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1117((byte) 0x9E, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setle  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setle     rbx[rsi * 4]}
     */
    // Template#: 10827, Serial#: 11202
    public void setle_r11202(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1118((byte) 0x9E, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setle  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setle     rbx[rsi * 4]}
     */
    // Template#: 10828, Serial#: 11211
    public void setle_r11211(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1119((byte) 0x9E, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setle  }<i>destination</i>
     * Example disassembly syntax: {@code setle     al}
     */
    // Template#: 10829, Serial#: 11200
    public void setle(AMD64GeneralRegister8 destination) {
        assemble1120((byte) 0x9E, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setle  }<i>destination</i>
     * Example disassembly syntax: {@code setle     al}
     */
    // Template#: 10830, Serial#: 11209
    public void setle_r11209(AMD64GeneralRegister8 destination) {
        assemble1121((byte) 0x9E, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setle  }<i>destination</i>
     * Example disassembly syntax: {@code setle     al}
     */
    // Template#: 10831, Serial#: 11218
    public void setle_r11218(AMD64GeneralRegister8 destination) {
        assemble1122((byte) 0x9E, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setle  }<i>destination</i>
     * Example disassembly syntax: {@code setle     [rbx]}
     */
    // Template#: 10832, Serial#: 11192
    public void setle(AMD64IndirectRegister64 destination) {
        assemble1123((byte) 0x9E, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setle  }<i>destination</i>
     * Example disassembly syntax: {@code setle     [rbx]}
     */
    // Template#: 10833, Serial#: 11201
    public void setle_r11201(AMD64IndirectRegister64 destination) {
        assemble1124((byte) 0x9E, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setle  }<i>destination</i>
     * Example disassembly syntax: {@code setle     [rbx]}
     */
    // Template#: 10834, Serial#: 11210
    public void setle_r11210(AMD64IndirectRegister64 destination) {
        assemble1125((byte) 0x9E, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setle  }<i>rel32</i>
     * Example disassembly syntax: {@code setle     [L1: +305419896]}
     */
    // Template#: 10835, Serial#: 11195
    public void rip_setle(int rel32) {
        assemble1126((byte) 0x9E, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setle  }<i>rel32</i>
     * Example disassembly syntax: {@code setle     [L1: +305419896]}
     */
    // Template#: 10836, Serial#: 11204
    public void rip_setle_r11204(int rel32) {
        assemble1127((byte) 0x9E, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setle  }<i>rel32</i>
     * Example disassembly syntax: {@code setle     [L1: +305419896]}
     */
    // Template#: 10837, Serial#: 11213
    public void rip_setle_r11213(int rel32) {
        assemble1128((byte) 0x9E, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setle  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setle     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10838, Serial#: 11199
    public void setle(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1129((byte) 0x9E, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setle  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setle     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10839, Serial#: 11208
    public void setle_r11208(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1130((byte) 0x9E, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setle  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setle     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10840, Serial#: 11217
    public void setle_r11217(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1131((byte) 0x9E, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setle  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setle     0x12345678[rsi * 4]}
     */
    // Template#: 10841, Serial#: 11194
    public void m_setle(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1132((byte) 0x9E, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setle  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setle     0x12345678[rsi * 4]}
     */
    // Template#: 10842, Serial#: 11203
    public void m_setle_r11203(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1133((byte) 0x9E, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setle  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setle     0x12345678[rsi * 4]}
     */
    // Template#: 10843, Serial#: 11212
    public void m_setle_r11212(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1134((byte) 0x9E, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setle  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setle     [rbx + 305419896]}
     */
    // Template#: 10844, Serial#: 11198
    public void setle(int disp32, AMD64IndirectRegister64 destination) {
        assemble1135((byte) 0x9E, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setle  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setle     [rbx + 305419896]}
     */
    // Template#: 10845, Serial#: 11207
    public void setle_r11207(int disp32, AMD64IndirectRegister64 destination) {
        assemble1136((byte) 0x9E, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setle  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setle     [rbx + 305419896]}
     */
    // Template#: 10846, Serial#: 11216
    public void setle_r11216(int disp32, AMD64IndirectRegister64 destination) {
        assemble1137((byte) 0x9E, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnb     rbx[rsi * 4 + 18]}
     */
    // Template#: 10847, Serial#: 7602
    public void setnb(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1111((byte) 0x93, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnb     rbx[rsi * 4 + 18]}
     */
    // Template#: 10848, Serial#: 7611
    public void setnb_r7611(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1112((byte) 0x93, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnb     rbx[rsi * 4 + 18]}
     */
    // Template#: 10849, Serial#: 7620
    public void setnb_r7620(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1113((byte) 0x93, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnb     [rbx + 18]}
     */
    // Template#: 10850, Serial#: 7601
    public void setnb(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1114((byte) 0x93, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnb     [rbx + 18]}
     */
    // Template#: 10851, Serial#: 7610
    public void setnb_r7610(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1115((byte) 0x93, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnb     [rbx + 18]}
     */
    // Template#: 10852, Serial#: 7619
    public void setnb_r7619(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1116((byte) 0x93, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnb     rbx[rsi * 4]}
     */
    // Template#: 10853, Serial#: 7598
    public void setnb(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1117((byte) 0x93, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnb     rbx[rsi * 4]}
     */
    // Template#: 10854, Serial#: 7607
    public void setnb_r7607(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1118((byte) 0x93, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnb     rbx[rsi * 4]}
     */
    // Template#: 10855, Serial#: 7616
    public void setnb_r7616(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1119((byte) 0x93, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnb  }<i>destination</i>
     * Example disassembly syntax: {@code setnb     al}
     */
    // Template#: 10856, Serial#: 7605
    public void setnb(AMD64GeneralRegister8 destination) {
        assemble1120((byte) 0x93, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnb  }<i>destination</i>
     * Example disassembly syntax: {@code setnb     al}
     */
    // Template#: 10857, Serial#: 7614
    public void setnb_r7614(AMD64GeneralRegister8 destination) {
        assemble1121((byte) 0x93, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnb  }<i>destination</i>
     * Example disassembly syntax: {@code setnb     al}
     */
    // Template#: 10858, Serial#: 7623
    public void setnb_r7623(AMD64GeneralRegister8 destination) {
        assemble1122((byte) 0x93, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnb  }<i>destination</i>
     * Example disassembly syntax: {@code setnb     [rbx]}
     */
    // Template#: 10859, Serial#: 7597
    public void setnb(AMD64IndirectRegister64 destination) {
        assemble1123((byte) 0x93, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnb  }<i>destination</i>
     * Example disassembly syntax: {@code setnb     [rbx]}
     */
    // Template#: 10860, Serial#: 7606
    public void setnb_r7606(AMD64IndirectRegister64 destination) {
        assemble1124((byte) 0x93, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnb  }<i>destination</i>
     * Example disassembly syntax: {@code setnb     [rbx]}
     */
    // Template#: 10861, Serial#: 7615
    public void setnb_r7615(AMD64IndirectRegister64 destination) {
        assemble1125((byte) 0x93, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnb  }<i>rel32</i>
     * Example disassembly syntax: {@code setnb     [L1: +305419896]}
     */
    // Template#: 10862, Serial#: 7600
    public void rip_setnb(int rel32) {
        assemble1126((byte) 0x93, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnb  }<i>rel32</i>
     * Example disassembly syntax: {@code setnb     [L1: +305419896]}
     */
    // Template#: 10863, Serial#: 7609
    public void rip_setnb_r7609(int rel32) {
        assemble1127((byte) 0x93, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnb  }<i>rel32</i>
     * Example disassembly syntax: {@code setnb     [L1: +305419896]}
     */
    // Template#: 10864, Serial#: 7618
    public void rip_setnb_r7618(int rel32) {
        assemble1128((byte) 0x93, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnb     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10865, Serial#: 7604
    public void setnb(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1129((byte) 0x93, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnb     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10866, Serial#: 7613
    public void setnb_r7613(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1130((byte) 0x93, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnb     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10867, Serial#: 7622
    public void setnb_r7622(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1131((byte) 0x93, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnb     0x12345678[rsi * 4]}
     */
    // Template#: 10868, Serial#: 7599
    public void m_setnb(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1132((byte) 0x93, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnb     0x12345678[rsi * 4]}
     */
    // Template#: 10869, Serial#: 7608
    public void m_setnb_r7608(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1133((byte) 0x93, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnb     0x12345678[rsi * 4]}
     */
    // Template#: 10870, Serial#: 7617
    public void m_setnb_r7617(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1134((byte) 0x93, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnb     [rbx + 305419896]}
     */
    // Template#: 10871, Serial#: 7603
    public void setnb(int disp32, AMD64IndirectRegister64 destination) {
        assemble1135((byte) 0x93, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnb     [rbx + 305419896]}
     */
    // Template#: 10872, Serial#: 7612
    public void setnb_r7612(int disp32, AMD64IndirectRegister64 destination) {
        assemble1136((byte) 0x93, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnb     [rbx + 305419896]}
     */
    // Template#: 10873, Serial#: 7621
    public void setnb_r7621(int disp32, AMD64IndirectRegister64 destination) {
        assemble1137((byte) 0x93, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnbe  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnbe    rbx[rsi * 4 + 18]}
     */
    // Template#: 10874, Serial#: 7710
    public void setnbe(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1111((byte) 0x97, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnbe  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnbe    rbx[rsi * 4 + 18]}
     */
    // Template#: 10875, Serial#: 7719
    public void setnbe_r7719(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1112((byte) 0x97, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnbe  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnbe    rbx[rsi * 4 + 18]}
     */
    // Template#: 10876, Serial#: 7728
    public void setnbe_r7728(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1113((byte) 0x97, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnbe  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnbe    [rbx + 18]}
     */
    // Template#: 10877, Serial#: 7709
    public void setnbe(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1114((byte) 0x97, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnbe  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnbe    [rbx + 18]}
     */
    // Template#: 10878, Serial#: 7718
    public void setnbe_r7718(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1115((byte) 0x97, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnbe  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnbe    [rbx + 18]}
     */
    // Template#: 10879, Serial#: 7727
    public void setnbe_r7727(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1116((byte) 0x97, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnbe  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnbe    rbx[rsi * 4]}
     */
    // Template#: 10880, Serial#: 7706
    public void setnbe(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1117((byte) 0x97, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnbe  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnbe    rbx[rsi * 4]}
     */
    // Template#: 10881, Serial#: 7715
    public void setnbe_r7715(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1118((byte) 0x97, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnbe  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnbe    rbx[rsi * 4]}
     */
    // Template#: 10882, Serial#: 7724
    public void setnbe_r7724(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1119((byte) 0x97, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnbe  }<i>destination</i>
     * Example disassembly syntax: {@code setnbe    al}
     */
    // Template#: 10883, Serial#: 7713
    public void setnbe(AMD64GeneralRegister8 destination) {
        assemble1120((byte) 0x97, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnbe  }<i>destination</i>
     * Example disassembly syntax: {@code setnbe    al}
     */
    // Template#: 10884, Serial#: 7722
    public void setnbe_r7722(AMD64GeneralRegister8 destination) {
        assemble1121((byte) 0x97, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnbe  }<i>destination</i>
     * Example disassembly syntax: {@code setnbe    al}
     */
    // Template#: 10885, Serial#: 7731
    public void setnbe_r7731(AMD64GeneralRegister8 destination) {
        assemble1122((byte) 0x97, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnbe  }<i>destination</i>
     * Example disassembly syntax: {@code setnbe    [rbx]}
     */
    // Template#: 10886, Serial#: 7705
    public void setnbe(AMD64IndirectRegister64 destination) {
        assemble1123((byte) 0x97, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnbe  }<i>destination</i>
     * Example disassembly syntax: {@code setnbe    [rbx]}
     */
    // Template#: 10887, Serial#: 7714
    public void setnbe_r7714(AMD64IndirectRegister64 destination) {
        assemble1124((byte) 0x97, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnbe  }<i>destination</i>
     * Example disassembly syntax: {@code setnbe    [rbx]}
     */
    // Template#: 10888, Serial#: 7723
    public void setnbe_r7723(AMD64IndirectRegister64 destination) {
        assemble1125((byte) 0x97, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnbe  }<i>rel32</i>
     * Example disassembly syntax: {@code setnbe    [L1: +305419896]}
     */
    // Template#: 10889, Serial#: 7708
    public void rip_setnbe(int rel32) {
        assemble1126((byte) 0x97, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnbe  }<i>rel32</i>
     * Example disassembly syntax: {@code setnbe    [L1: +305419896]}
     */
    // Template#: 10890, Serial#: 7717
    public void rip_setnbe_r7717(int rel32) {
        assemble1127((byte) 0x97, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnbe  }<i>rel32</i>
     * Example disassembly syntax: {@code setnbe    [L1: +305419896]}
     */
    // Template#: 10891, Serial#: 7726
    public void rip_setnbe_r7726(int rel32) {
        assemble1128((byte) 0x97, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnbe  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnbe    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10892, Serial#: 7712
    public void setnbe(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1129((byte) 0x97, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnbe  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnbe    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10893, Serial#: 7721
    public void setnbe_r7721(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1130((byte) 0x97, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnbe  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnbe    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10894, Serial#: 7730
    public void setnbe_r7730(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1131((byte) 0x97, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnbe  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnbe    0x12345678[rsi * 4]}
     */
    // Template#: 10895, Serial#: 7707
    public void m_setnbe(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1132((byte) 0x97, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnbe  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnbe    0x12345678[rsi * 4]}
     */
    // Template#: 10896, Serial#: 7716
    public void m_setnbe_r7716(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1133((byte) 0x97, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnbe  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnbe    0x12345678[rsi * 4]}
     */
    // Template#: 10897, Serial#: 7725
    public void m_setnbe_r7725(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1134((byte) 0x97, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnbe  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnbe    [rbx + 305419896]}
     */
    // Template#: 10898, Serial#: 7711
    public void setnbe(int disp32, AMD64IndirectRegister64 destination) {
        assemble1135((byte) 0x97, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnbe  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnbe    [rbx + 305419896]}
     */
    // Template#: 10899, Serial#: 7720
    public void setnbe_r7720(int disp32, AMD64IndirectRegister64 destination) {
        assemble1136((byte) 0x97, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnbe  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnbe    [rbx + 305419896]}
     */
    // Template#: 10900, Serial#: 7729
    public void setnbe_r7729(int disp32, AMD64IndirectRegister64 destination) {
        assemble1137((byte) 0x97, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnl     rbx[rsi * 4 + 18]}
     */
    // Template#: 10901, Serial#: 11170
    public void setnl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1111((byte) 0x9D, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnl     rbx[rsi * 4 + 18]}
     */
    // Template#: 10902, Serial#: 11179
    public void setnl_r11179(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1112((byte) 0x9D, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnl     rbx[rsi * 4 + 18]}
     */
    // Template#: 10903, Serial#: 11188
    public void setnl_r11188(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1113((byte) 0x9D, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnl     [rbx + 18]}
     */
    // Template#: 10904, Serial#: 11169
    public void setnl(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1114((byte) 0x9D, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnl     [rbx + 18]}
     */
    // Template#: 10905, Serial#: 11178
    public void setnl_r11178(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1115((byte) 0x9D, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnl     [rbx + 18]}
     */
    // Template#: 10906, Serial#: 11187
    public void setnl_r11187(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1116((byte) 0x9D, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnl     rbx[rsi * 4]}
     */
    // Template#: 10907, Serial#: 11166
    public void setnl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1117((byte) 0x9D, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnl     rbx[rsi * 4]}
     */
    // Template#: 10908, Serial#: 11175
    public void setnl_r11175(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1118((byte) 0x9D, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnl     rbx[rsi * 4]}
     */
    // Template#: 10909, Serial#: 11184
    public void setnl_r11184(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1119((byte) 0x9D, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnl  }<i>destination</i>
     * Example disassembly syntax: {@code setnl     al}
     */
    // Template#: 10910, Serial#: 11173
    public void setnl(AMD64GeneralRegister8 destination) {
        assemble1120((byte) 0x9D, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnl  }<i>destination</i>
     * Example disassembly syntax: {@code setnl     al}
     */
    // Template#: 10911, Serial#: 11182
    public void setnl_r11182(AMD64GeneralRegister8 destination) {
        assemble1121((byte) 0x9D, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnl  }<i>destination</i>
     * Example disassembly syntax: {@code setnl     al}
     */
    // Template#: 10912, Serial#: 11191
    public void setnl_r11191(AMD64GeneralRegister8 destination) {
        assemble1122((byte) 0x9D, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnl  }<i>destination</i>
     * Example disassembly syntax: {@code setnl     [rbx]}
     */
    // Template#: 10913, Serial#: 11165
    public void setnl(AMD64IndirectRegister64 destination) {
        assemble1123((byte) 0x9D, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnl  }<i>destination</i>
     * Example disassembly syntax: {@code setnl     [rbx]}
     */
    // Template#: 10914, Serial#: 11174
    public void setnl_r11174(AMD64IndirectRegister64 destination) {
        assemble1124((byte) 0x9D, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnl  }<i>destination</i>
     * Example disassembly syntax: {@code setnl     [rbx]}
     */
    // Template#: 10915, Serial#: 11183
    public void setnl_r11183(AMD64IndirectRegister64 destination) {
        assemble1125((byte) 0x9D, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnl  }<i>rel32</i>
     * Example disassembly syntax: {@code setnl     [L1: +305419896]}
     */
    // Template#: 10916, Serial#: 11168
    public void rip_setnl(int rel32) {
        assemble1126((byte) 0x9D, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnl  }<i>rel32</i>
     * Example disassembly syntax: {@code setnl     [L1: +305419896]}
     */
    // Template#: 10917, Serial#: 11177
    public void rip_setnl_r11177(int rel32) {
        assemble1127((byte) 0x9D, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnl  }<i>rel32</i>
     * Example disassembly syntax: {@code setnl     [L1: +305419896]}
     */
    // Template#: 10918, Serial#: 11186
    public void rip_setnl_r11186(int rel32) {
        assemble1128((byte) 0x9D, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnl     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10919, Serial#: 11172
    public void setnl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1129((byte) 0x9D, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnl     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10920, Serial#: 11181
    public void setnl_r11181(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1130((byte) 0x9D, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnl     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10921, Serial#: 11190
    public void setnl_r11190(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1131((byte) 0x9D, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnl     0x12345678[rsi * 4]}
     */
    // Template#: 10922, Serial#: 11167
    public void m_setnl(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1132((byte) 0x9D, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnl     0x12345678[rsi * 4]}
     */
    // Template#: 10923, Serial#: 11176
    public void m_setnl_r11176(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1133((byte) 0x9D, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnl     0x12345678[rsi * 4]}
     */
    // Template#: 10924, Serial#: 11185
    public void m_setnl_r11185(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1134((byte) 0x9D, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnl     [rbx + 305419896]}
     */
    // Template#: 10925, Serial#: 11171
    public void setnl(int disp32, AMD64IndirectRegister64 destination) {
        assemble1135((byte) 0x9D, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnl     [rbx + 305419896]}
     */
    // Template#: 10926, Serial#: 11180
    public void setnl_r11180(int disp32, AMD64IndirectRegister64 destination) {
        assemble1136((byte) 0x9D, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnl     [rbx + 305419896]}
     */
    // Template#: 10927, Serial#: 11189
    public void setnl_r11189(int disp32, AMD64IndirectRegister64 destination) {
        assemble1137((byte) 0x9D, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnle  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnle    rbx[rsi * 4 + 18]}
     */
    // Template#: 10928, Serial#: 11224
    public void setnle(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1111((byte) 0x9F, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnle  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnle    rbx[rsi * 4 + 18]}
     */
    // Template#: 10929, Serial#: 11233
    public void setnle_r11233(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1112((byte) 0x9F, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnle  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnle    rbx[rsi * 4 + 18]}
     */
    // Template#: 10930, Serial#: 11242
    public void setnle_r11242(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1113((byte) 0x9F, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnle  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnle    [rbx + 18]}
     */
    // Template#: 10931, Serial#: 11223
    public void setnle(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1114((byte) 0x9F, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnle  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnle    [rbx + 18]}
     */
    // Template#: 10932, Serial#: 11232
    public void setnle_r11232(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1115((byte) 0x9F, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnle  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnle    [rbx + 18]}
     */
    // Template#: 10933, Serial#: 11241
    public void setnle_r11241(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1116((byte) 0x9F, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnle  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnle    rbx[rsi * 4]}
     */
    // Template#: 10934, Serial#: 11220
    public void setnle(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1117((byte) 0x9F, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnle  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnle    rbx[rsi * 4]}
     */
    // Template#: 10935, Serial#: 11229
    public void setnle_r11229(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1118((byte) 0x9F, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnle  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnle    rbx[rsi * 4]}
     */
    // Template#: 10936, Serial#: 11238
    public void setnle_r11238(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1119((byte) 0x9F, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnle  }<i>destination</i>
     * Example disassembly syntax: {@code setnle    al}
     */
    // Template#: 10937, Serial#: 11227
    public void setnle(AMD64GeneralRegister8 destination) {
        assemble1120((byte) 0x9F, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnle  }<i>destination</i>
     * Example disassembly syntax: {@code setnle    al}
     */
    // Template#: 10938, Serial#: 11236
    public void setnle_r11236(AMD64GeneralRegister8 destination) {
        assemble1121((byte) 0x9F, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnle  }<i>destination</i>
     * Example disassembly syntax: {@code setnle    al}
     */
    // Template#: 10939, Serial#: 11245
    public void setnle_r11245(AMD64GeneralRegister8 destination) {
        assemble1122((byte) 0x9F, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnle  }<i>destination</i>
     * Example disassembly syntax: {@code setnle    [rbx]}
     */
    // Template#: 10940, Serial#: 11219
    public void setnle(AMD64IndirectRegister64 destination) {
        assemble1123((byte) 0x9F, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnle  }<i>destination</i>
     * Example disassembly syntax: {@code setnle    [rbx]}
     */
    // Template#: 10941, Serial#: 11228
    public void setnle_r11228(AMD64IndirectRegister64 destination) {
        assemble1124((byte) 0x9F, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnle  }<i>destination</i>
     * Example disassembly syntax: {@code setnle    [rbx]}
     */
    // Template#: 10942, Serial#: 11237
    public void setnle_r11237(AMD64IndirectRegister64 destination) {
        assemble1125((byte) 0x9F, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnle  }<i>rel32</i>
     * Example disassembly syntax: {@code setnle    [L1: +305419896]}
     */
    // Template#: 10943, Serial#: 11222
    public void rip_setnle(int rel32) {
        assemble1126((byte) 0x9F, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnle  }<i>rel32</i>
     * Example disassembly syntax: {@code setnle    [L1: +305419896]}
     */
    // Template#: 10944, Serial#: 11231
    public void rip_setnle_r11231(int rel32) {
        assemble1127((byte) 0x9F, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnle  }<i>rel32</i>
     * Example disassembly syntax: {@code setnle    [L1: +305419896]}
     */
    // Template#: 10945, Serial#: 11240
    public void rip_setnle_r11240(int rel32) {
        assemble1128((byte) 0x9F, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnle  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnle    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10946, Serial#: 11226
    public void setnle(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1129((byte) 0x9F, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnle  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnle    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10947, Serial#: 11235
    public void setnle_r11235(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1130((byte) 0x9F, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnle  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnle    rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10948, Serial#: 11244
    public void setnle_r11244(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1131((byte) 0x9F, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnle  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnle    0x12345678[rsi * 4]}
     */
    // Template#: 10949, Serial#: 11221
    public void m_setnle(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1132((byte) 0x9F, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnle  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnle    0x12345678[rsi * 4]}
     */
    // Template#: 10950, Serial#: 11230
    public void m_setnle_r11230(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1133((byte) 0x9F, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnle  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnle    0x12345678[rsi * 4]}
     */
    // Template#: 10951, Serial#: 11239
    public void m_setnle_r11239(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1134((byte) 0x9F, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnle  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnle    [rbx + 305419896]}
     */
    // Template#: 10952, Serial#: 11225
    public void setnle(int disp32, AMD64IndirectRegister64 destination) {
        assemble1135((byte) 0x9F, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnle  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnle    [rbx + 305419896]}
     */
    // Template#: 10953, Serial#: 11234
    public void setnle_r11234(int disp32, AMD64IndirectRegister64 destination) {
        assemble1136((byte) 0x9F, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnle  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnle    [rbx + 305419896]}
     */
    // Template#: 10954, Serial#: 11243
    public void setnle_r11243(int disp32, AMD64IndirectRegister64 destination) {
        assemble1137((byte) 0x9F, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setno  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setno     rbx[rsi * 4 + 18]}
     */
    // Template#: 10955, Serial#: 7548
    public void setno(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1111((byte) 0x91, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setno  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setno     rbx[rsi * 4 + 18]}
     */
    // Template#: 10956, Serial#: 7557
    public void setno_r7557(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1112((byte) 0x91, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setno  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setno     rbx[rsi * 4 + 18]}
     */
    // Template#: 10957, Serial#: 7566
    public void setno_r7566(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1113((byte) 0x91, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setno  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setno     [rbx + 18]}
     */
    // Template#: 10958, Serial#: 7547
    public void setno(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1114((byte) 0x91, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setno  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setno     [rbx + 18]}
     */
    // Template#: 10959, Serial#: 7556
    public void setno_r7556(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1115((byte) 0x91, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setno  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setno     [rbx + 18]}
     */
    // Template#: 10960, Serial#: 7565
    public void setno_r7565(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1116((byte) 0x91, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setno  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setno     rbx[rsi * 4]}
     */
    // Template#: 10961, Serial#: 7544
    public void setno(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1117((byte) 0x91, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setno  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setno     rbx[rsi * 4]}
     */
    // Template#: 10962, Serial#: 7553
    public void setno_r7553(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1118((byte) 0x91, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setno  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setno     rbx[rsi * 4]}
     */
    // Template#: 10963, Serial#: 7562
    public void setno_r7562(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1119((byte) 0x91, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setno  }<i>destination</i>
     * Example disassembly syntax: {@code setno     al}
     */
    // Template#: 10964, Serial#: 7551
    public void setno(AMD64GeneralRegister8 destination) {
        assemble1120((byte) 0x91, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setno  }<i>destination</i>
     * Example disassembly syntax: {@code setno     al}
     */
    // Template#: 10965, Serial#: 7560
    public void setno_r7560(AMD64GeneralRegister8 destination) {
        assemble1121((byte) 0x91, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setno  }<i>destination</i>
     * Example disassembly syntax: {@code setno     al}
     */
    // Template#: 10966, Serial#: 7569
    public void setno_r7569(AMD64GeneralRegister8 destination) {
        assemble1122((byte) 0x91, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setno  }<i>destination</i>
     * Example disassembly syntax: {@code setno     [rbx]}
     */
    // Template#: 10967, Serial#: 7543
    public void setno(AMD64IndirectRegister64 destination) {
        assemble1123((byte) 0x91, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setno  }<i>destination</i>
     * Example disassembly syntax: {@code setno     [rbx]}
     */
    // Template#: 10968, Serial#: 7552
    public void setno_r7552(AMD64IndirectRegister64 destination) {
        assemble1124((byte) 0x91, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setno  }<i>destination</i>
     * Example disassembly syntax: {@code setno     [rbx]}
     */
    // Template#: 10969, Serial#: 7561
    public void setno_r7561(AMD64IndirectRegister64 destination) {
        assemble1125((byte) 0x91, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setno  }<i>rel32</i>
     * Example disassembly syntax: {@code setno     [L1: +305419896]}
     */
    // Template#: 10970, Serial#: 7546
    public void rip_setno(int rel32) {
        assemble1126((byte) 0x91, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setno  }<i>rel32</i>
     * Example disassembly syntax: {@code setno     [L1: +305419896]}
     */
    // Template#: 10971, Serial#: 7555
    public void rip_setno_r7555(int rel32) {
        assemble1127((byte) 0x91, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setno  }<i>rel32</i>
     * Example disassembly syntax: {@code setno     [L1: +305419896]}
     */
    // Template#: 10972, Serial#: 7564
    public void rip_setno_r7564(int rel32) {
        assemble1128((byte) 0x91, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setno  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setno     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10973, Serial#: 7550
    public void setno(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1129((byte) 0x91, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setno  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setno     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10974, Serial#: 7559
    public void setno_r7559(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1130((byte) 0x91, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setno  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setno     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 10975, Serial#: 7568
    public void setno_r7568(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1131((byte) 0x91, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setno  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setno     0x12345678[rsi * 4]}
     */
    // Template#: 10976, Serial#: 7545
    public void m_setno(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1132((byte) 0x91, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setno  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setno     0x12345678[rsi * 4]}
     */
    // Template#: 10977, Serial#: 7554
    public void m_setno_r7554(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1133((byte) 0x91, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setno  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setno     0x12345678[rsi * 4]}
     */
    // Template#: 10978, Serial#: 7563
    public void m_setno_r7563(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1134((byte) 0x91, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setno  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setno     [rbx + 305419896]}
     */
    // Template#: 10979, Serial#: 7549
    public void setno(int disp32, AMD64IndirectRegister64 destination) {
        assemble1135((byte) 0x91, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setno  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setno     [rbx + 305419896]}
     */
    // Template#: 10980, Serial#: 7558
    public void setno_r7558(int disp32, AMD64IndirectRegister64 destination) {
        assemble1136((byte) 0x91, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setno  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setno     [rbx + 305419896]}
     */
    // Template#: 10981, Serial#: 7567
    public void setno_r7567(int disp32, AMD64IndirectRegister64 destination) {
        assemble1137((byte) 0x91, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnp  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnp     rbx[rsi * 4 + 18]}
     */
    // Template#: 10982, Serial#: 11116
    public void setnp(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1111((byte) 0x9B, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnp  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnp     rbx[rsi * 4 + 18]}
     */
    // Template#: 10983, Serial#: 11125
    public void setnp_r11125(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1112((byte) 0x9B, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnp  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnp     rbx[rsi * 4 + 18]}
     */
    // Template#: 10984, Serial#: 11134
    public void setnp_r11134(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1113((byte) 0x9B, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnp  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnp     [rbx + 18]}
     */
    // Template#: 10985, Serial#: 11115
    public void setnp(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1114((byte) 0x9B, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnp  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnp     [rbx + 18]}
     */
    // Template#: 10986, Serial#: 11124
    public void setnp_r11124(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1115((byte) 0x9B, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnp  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnp     [rbx + 18]}
     */
    // Template#: 10987, Serial#: 11133
    public void setnp_r11133(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1116((byte) 0x9B, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnp  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnp     rbx[rsi * 4]}
     */
    // Template#: 10988, Serial#: 11112
    public void setnp(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1117((byte) 0x9B, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnp  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnp     rbx[rsi * 4]}
     */
    // Template#: 10989, Serial#: 11121
    public void setnp_r11121(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1118((byte) 0x9B, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnp  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnp     rbx[rsi * 4]}
     */
    // Template#: 10990, Serial#: 11130
    public void setnp_r11130(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1119((byte) 0x9B, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnp  }<i>destination</i>
     * Example disassembly syntax: {@code setnp     al}
     */
    // Template#: 10991, Serial#: 11119
    public void setnp(AMD64GeneralRegister8 destination) {
        assemble1120((byte) 0x9B, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnp  }<i>destination</i>
     * Example disassembly syntax: {@code setnp     al}
     */
    // Template#: 10992, Serial#: 11128
    public void setnp_r11128(AMD64GeneralRegister8 destination) {
        assemble1121((byte) 0x9B, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnp  }<i>destination</i>
     * Example disassembly syntax: {@code setnp     al}
     */
    // Template#: 10993, Serial#: 11137
    public void setnp_r11137(AMD64GeneralRegister8 destination) {
        assemble1122((byte) 0x9B, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnp  }<i>destination</i>
     * Example disassembly syntax: {@code setnp     [rbx]}
     */
    // Template#: 10994, Serial#: 11111
    public void setnp(AMD64IndirectRegister64 destination) {
        assemble1123((byte) 0x9B, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnp  }<i>destination</i>
     * Example disassembly syntax: {@code setnp     [rbx]}
     */
    // Template#: 10995, Serial#: 11120
    public void setnp_r11120(AMD64IndirectRegister64 destination) {
        assemble1124((byte) 0x9B, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnp  }<i>destination</i>
     * Example disassembly syntax: {@code setnp     [rbx]}
     */
    // Template#: 10996, Serial#: 11129
    public void setnp_r11129(AMD64IndirectRegister64 destination) {
        assemble1125((byte) 0x9B, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnp  }<i>rel32</i>
     * Example disassembly syntax: {@code setnp     [L1: +305419896]}
     */
    // Template#: 10997, Serial#: 11114
    public void rip_setnp(int rel32) {
        assemble1126((byte) 0x9B, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnp  }<i>rel32</i>
     * Example disassembly syntax: {@code setnp     [L1: +305419896]}
     */
    // Template#: 10998, Serial#: 11123
    public void rip_setnp_r11123(int rel32) {
        assemble1127((byte) 0x9B, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnp  }<i>rel32</i>
     * Example disassembly syntax: {@code setnp     [L1: +305419896]}
     */
    // Template#: 10999, Serial#: 11132
    public void rip_setnp_r11132(int rel32) {
        assemble1128((byte) 0x9B, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnp  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnp     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11000, Serial#: 11118
    public void setnp(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1129((byte) 0x9B, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnp  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnp     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11001, Serial#: 11127
    public void setnp_r11127(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1130((byte) 0x9B, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnp  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnp     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11002, Serial#: 11136
    public void setnp_r11136(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1131((byte) 0x9B, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnp  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnp     0x12345678[rsi * 4]}
     */
    // Template#: 11003, Serial#: 11113
    public void m_setnp(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1132((byte) 0x9B, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnp  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnp     0x12345678[rsi * 4]}
     */
    // Template#: 11004, Serial#: 11122
    public void m_setnp_r11122(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1133((byte) 0x9B, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnp  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnp     0x12345678[rsi * 4]}
     */
    // Template#: 11005, Serial#: 11131
    public void m_setnp_r11131(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1134((byte) 0x9B, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnp  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnp     [rbx + 305419896]}
     */
    // Template#: 11006, Serial#: 11117
    public void setnp(int disp32, AMD64IndirectRegister64 destination) {
        assemble1135((byte) 0x9B, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnp  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnp     [rbx + 305419896]}
     */
    // Template#: 11007, Serial#: 11126
    public void setnp_r11126(int disp32, AMD64IndirectRegister64 destination) {
        assemble1136((byte) 0x9B, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnp  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnp     [rbx + 305419896]}
     */
    // Template#: 11008, Serial#: 11135
    public void setnp_r11135(int disp32, AMD64IndirectRegister64 destination) {
        assemble1137((byte) 0x9B, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setns  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setns     rbx[rsi * 4 + 18]}
     */
    // Template#: 11009, Serial#: 11062
    public void setns(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1111((byte) 0x99, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setns  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setns     rbx[rsi * 4 + 18]}
     */
    // Template#: 11010, Serial#: 11071
    public void setns_r11071(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1112((byte) 0x99, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setns  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setns     rbx[rsi * 4 + 18]}
     */
    // Template#: 11011, Serial#: 11080
    public void setns_r11080(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1113((byte) 0x99, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setns  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setns     [rbx + 18]}
     */
    // Template#: 11012, Serial#: 11061
    public void setns(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1114((byte) 0x99, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setns  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setns     [rbx + 18]}
     */
    // Template#: 11013, Serial#: 11070
    public void setns_r11070(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1115((byte) 0x99, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setns  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setns     [rbx + 18]}
     */
    // Template#: 11014, Serial#: 11079
    public void setns_r11079(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1116((byte) 0x99, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setns  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setns     rbx[rsi * 4]}
     */
    // Template#: 11015, Serial#: 11058
    public void setns(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1117((byte) 0x99, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setns  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setns     rbx[rsi * 4]}
     */
    // Template#: 11016, Serial#: 11067
    public void setns_r11067(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1118((byte) 0x99, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setns  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setns     rbx[rsi * 4]}
     */
    // Template#: 11017, Serial#: 11076
    public void setns_r11076(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1119((byte) 0x99, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setns  }<i>destination</i>
     * Example disassembly syntax: {@code setns     al}
     */
    // Template#: 11018, Serial#: 11065
    public void setns(AMD64GeneralRegister8 destination) {
        assemble1120((byte) 0x99, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setns  }<i>destination</i>
     * Example disassembly syntax: {@code setns     al}
     */
    // Template#: 11019, Serial#: 11074
    public void setns_r11074(AMD64GeneralRegister8 destination) {
        assemble1121((byte) 0x99, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setns  }<i>destination</i>
     * Example disassembly syntax: {@code setns     al}
     */
    // Template#: 11020, Serial#: 11083
    public void setns_r11083(AMD64GeneralRegister8 destination) {
        assemble1122((byte) 0x99, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setns  }<i>destination</i>
     * Example disassembly syntax: {@code setns     [rbx]}
     */
    // Template#: 11021, Serial#: 11057
    public void setns(AMD64IndirectRegister64 destination) {
        assemble1123((byte) 0x99, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setns  }<i>destination</i>
     * Example disassembly syntax: {@code setns     [rbx]}
     */
    // Template#: 11022, Serial#: 11066
    public void setns_r11066(AMD64IndirectRegister64 destination) {
        assemble1124((byte) 0x99, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setns  }<i>destination</i>
     * Example disassembly syntax: {@code setns     [rbx]}
     */
    // Template#: 11023, Serial#: 11075
    public void setns_r11075(AMD64IndirectRegister64 destination) {
        assemble1125((byte) 0x99, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setns  }<i>rel32</i>
     * Example disassembly syntax: {@code setns     [L1: +305419896]}
     */
    // Template#: 11024, Serial#: 11060
    public void rip_setns(int rel32) {
        assemble1126((byte) 0x99, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setns  }<i>rel32</i>
     * Example disassembly syntax: {@code setns     [L1: +305419896]}
     */
    // Template#: 11025, Serial#: 11069
    public void rip_setns_r11069(int rel32) {
        assemble1127((byte) 0x99, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setns  }<i>rel32</i>
     * Example disassembly syntax: {@code setns     [L1: +305419896]}
     */
    // Template#: 11026, Serial#: 11078
    public void rip_setns_r11078(int rel32) {
        assemble1128((byte) 0x99, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setns  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setns     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11027, Serial#: 11064
    public void setns(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1129((byte) 0x99, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setns  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setns     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11028, Serial#: 11073
    public void setns_r11073(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1130((byte) 0x99, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setns  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setns     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11029, Serial#: 11082
    public void setns_r11082(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1131((byte) 0x99, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setns  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setns     0x12345678[rsi * 4]}
     */
    // Template#: 11030, Serial#: 11059
    public void m_setns(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1132((byte) 0x99, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setns  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setns     0x12345678[rsi * 4]}
     */
    // Template#: 11031, Serial#: 11068
    public void m_setns_r11068(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1133((byte) 0x99, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setns  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setns     0x12345678[rsi * 4]}
     */
    // Template#: 11032, Serial#: 11077
    public void m_setns_r11077(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1134((byte) 0x99, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setns  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setns     [rbx + 305419896]}
     */
    // Template#: 11033, Serial#: 11063
    public void setns(int disp32, AMD64IndirectRegister64 destination) {
        assemble1135((byte) 0x99, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setns  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setns     [rbx + 305419896]}
     */
    // Template#: 11034, Serial#: 11072
    public void setns_r11072(int disp32, AMD64IndirectRegister64 destination) {
        assemble1136((byte) 0x99, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setns  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setns     [rbx + 305419896]}
     */
    // Template#: 11035, Serial#: 11081
    public void setns_r11081(int disp32, AMD64IndirectRegister64 destination) {
        assemble1137((byte) 0x99, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnz  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnz     rbx[rsi * 4 + 18]}
     */
    // Template#: 11036, Serial#: 7656
    public void setnz(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1111((byte) 0x95, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnz  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnz     rbx[rsi * 4 + 18]}
     */
    // Template#: 11037, Serial#: 7665
    public void setnz_r7665(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1112((byte) 0x95, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnz  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnz     rbx[rsi * 4 + 18]}
     */
    // Template#: 11038, Serial#: 7674
    public void setnz_r7674(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1113((byte) 0x95, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnz  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnz     [rbx + 18]}
     */
    // Template#: 11039, Serial#: 7655
    public void setnz(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1114((byte) 0x95, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnz  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnz     [rbx + 18]}
     */
    // Template#: 11040, Serial#: 7664
    public void setnz_r7664(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1115((byte) 0x95, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnz  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnz     [rbx + 18]}
     */
    // Template#: 11041, Serial#: 7673
    public void setnz_r7673(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1116((byte) 0x95, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnz  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnz     rbx[rsi * 4]}
     */
    // Template#: 11042, Serial#: 7652
    public void setnz(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1117((byte) 0x95, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnz  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnz     rbx[rsi * 4]}
     */
    // Template#: 11043, Serial#: 7661
    public void setnz_r7661(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1118((byte) 0x95, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnz  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnz     rbx[rsi * 4]}
     */
    // Template#: 11044, Serial#: 7670
    public void setnz_r7670(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1119((byte) 0x95, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnz  }<i>destination</i>
     * Example disassembly syntax: {@code setnz     al}
     */
    // Template#: 11045, Serial#: 7659
    public void setnz(AMD64GeneralRegister8 destination) {
        assemble1120((byte) 0x95, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnz  }<i>destination</i>
     * Example disassembly syntax: {@code setnz     al}
     */
    // Template#: 11046, Serial#: 7668
    public void setnz_r7668(AMD64GeneralRegister8 destination) {
        assemble1121((byte) 0x95, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnz  }<i>destination</i>
     * Example disassembly syntax: {@code setnz     al}
     */
    // Template#: 11047, Serial#: 7677
    public void setnz_r7677(AMD64GeneralRegister8 destination) {
        assemble1122((byte) 0x95, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnz  }<i>destination</i>
     * Example disassembly syntax: {@code setnz     [rbx]}
     */
    // Template#: 11048, Serial#: 7651
    public void setnz(AMD64IndirectRegister64 destination) {
        assemble1123((byte) 0x95, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnz  }<i>destination</i>
     * Example disassembly syntax: {@code setnz     [rbx]}
     */
    // Template#: 11049, Serial#: 7660
    public void setnz_r7660(AMD64IndirectRegister64 destination) {
        assemble1124((byte) 0x95, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnz  }<i>destination</i>
     * Example disassembly syntax: {@code setnz     [rbx]}
     */
    // Template#: 11050, Serial#: 7669
    public void setnz_r7669(AMD64IndirectRegister64 destination) {
        assemble1125((byte) 0x95, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnz  }<i>rel32</i>
     * Example disassembly syntax: {@code setnz     [L1: +305419896]}
     */
    // Template#: 11051, Serial#: 7654
    public void rip_setnz(int rel32) {
        assemble1126((byte) 0x95, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnz  }<i>rel32</i>
     * Example disassembly syntax: {@code setnz     [L1: +305419896]}
     */
    // Template#: 11052, Serial#: 7663
    public void rip_setnz_r7663(int rel32) {
        assemble1127((byte) 0x95, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnz  }<i>rel32</i>
     * Example disassembly syntax: {@code setnz     [L1: +305419896]}
     */
    // Template#: 11053, Serial#: 7672
    public void rip_setnz_r7672(int rel32) {
        assemble1128((byte) 0x95, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnz  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnz     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11054, Serial#: 7658
    public void setnz(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1129((byte) 0x95, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnz  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnz     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11055, Serial#: 7667
    public void setnz_r7667(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1130((byte) 0x95, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnz  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnz     rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11056, Serial#: 7676
    public void setnz_r7676(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1131((byte) 0x95, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnz  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnz     0x12345678[rsi * 4]}
     */
    // Template#: 11057, Serial#: 7653
    public void m_setnz(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1132((byte) 0x95, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnz  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnz     0x12345678[rsi * 4]}
     */
    // Template#: 11058, Serial#: 7662
    public void m_setnz_r7662(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1133((byte) 0x95, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnz  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setnz     0x12345678[rsi * 4]}
     */
    // Template#: 11059, Serial#: 7671
    public void m_setnz_r7671(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1134((byte) 0x95, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnz  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnz     [rbx + 305419896]}
     */
    // Template#: 11060, Serial#: 7657
    public void setnz(int disp32, AMD64IndirectRegister64 destination) {
        assemble1135((byte) 0x95, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnz  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnz     [rbx + 305419896]}
     */
    // Template#: 11061, Serial#: 7666
    public void setnz_r7666(int disp32, AMD64IndirectRegister64 destination) {
        assemble1136((byte) 0x95, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setnz  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setnz     [rbx + 305419896]}
     */
    // Template#: 11062, Serial#: 7675
    public void setnz_r7675(int disp32, AMD64IndirectRegister64 destination) {
        assemble1137((byte) 0x95, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code seto  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code seto      rbx[rsi * 4 + 18]}
     */
    // Template#: 11063, Serial#: 7521
    public void seto(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1111((byte) 0x90, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code seto  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code seto      rbx[rsi * 4 + 18]}
     */
    // Template#: 11064, Serial#: 7530
    public void seto_r7530(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1112((byte) 0x90, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code seto  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code seto      rbx[rsi * 4 + 18]}
     */
    // Template#: 11065, Serial#: 7539
    public void seto_r7539(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1113((byte) 0x90, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code seto  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code seto      [rbx + 18]}
     */
    // Template#: 11066, Serial#: 7520
    public void seto(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1114((byte) 0x90, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code seto  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code seto      [rbx + 18]}
     */
    // Template#: 11067, Serial#: 7529
    public void seto_r7529(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1115((byte) 0x90, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code seto  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code seto      [rbx + 18]}
     */
    // Template#: 11068, Serial#: 7538
    public void seto_r7538(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1116((byte) 0x90, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code seto  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code seto      rbx[rsi * 4]}
     */
    // Template#: 11069, Serial#: 7517
    public void seto(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1117((byte) 0x90, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code seto  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code seto      rbx[rsi * 4]}
     */
    // Template#: 11070, Serial#: 7526
    public void seto_r7526(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1118((byte) 0x90, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code seto  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code seto      rbx[rsi * 4]}
     */
    // Template#: 11071, Serial#: 7535
    public void seto_r7535(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1119((byte) 0x90, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code seto  }<i>destination</i>
     * Example disassembly syntax: {@code seto      al}
     */
    // Template#: 11072, Serial#: 7524
    public void seto(AMD64GeneralRegister8 destination) {
        assemble1120((byte) 0x90, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code seto  }<i>destination</i>
     * Example disassembly syntax: {@code seto      al}
     */
    // Template#: 11073, Serial#: 7533
    public void seto_r7533(AMD64GeneralRegister8 destination) {
        assemble1121((byte) 0x90, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code seto  }<i>destination</i>
     * Example disassembly syntax: {@code seto      al}
     */
    // Template#: 11074, Serial#: 7542
    public void seto_r7542(AMD64GeneralRegister8 destination) {
        assemble1122((byte) 0x90, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code seto  }<i>destination</i>
     * Example disassembly syntax: {@code seto      [rbx]}
     */
    // Template#: 11075, Serial#: 7516
    public void seto(AMD64IndirectRegister64 destination) {
        assemble1123((byte) 0x90, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code seto  }<i>destination</i>
     * Example disassembly syntax: {@code seto      [rbx]}
     */
    // Template#: 11076, Serial#: 7525
    public void seto_r7525(AMD64IndirectRegister64 destination) {
        assemble1124((byte) 0x90, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code seto  }<i>destination</i>
     * Example disassembly syntax: {@code seto      [rbx]}
     */
    // Template#: 11077, Serial#: 7534
    public void seto_r7534(AMD64IndirectRegister64 destination) {
        assemble1125((byte) 0x90, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code seto  }<i>rel32</i>
     * Example disassembly syntax: {@code seto      [L1: +305419896]}
     */
    // Template#: 11078, Serial#: 7519
    public void rip_seto(int rel32) {
        assemble1126((byte) 0x90, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code seto  }<i>rel32</i>
     * Example disassembly syntax: {@code seto      [L1: +305419896]}
     */
    // Template#: 11079, Serial#: 7528
    public void rip_seto_r7528(int rel32) {
        assemble1127((byte) 0x90, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code seto  }<i>rel32</i>
     * Example disassembly syntax: {@code seto      [L1: +305419896]}
     */
    // Template#: 11080, Serial#: 7537
    public void rip_seto_r7537(int rel32) {
        assemble1128((byte) 0x90, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code seto  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code seto      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11081, Serial#: 7523
    public void seto(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1129((byte) 0x90, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code seto  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code seto      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11082, Serial#: 7532
    public void seto_r7532(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1130((byte) 0x90, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code seto  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code seto      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11083, Serial#: 7541
    public void seto_r7541(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1131((byte) 0x90, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code seto  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code seto      0x12345678[rsi * 4]}
     */
    // Template#: 11084, Serial#: 7518
    public void m_seto(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1132((byte) 0x90, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code seto  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code seto      0x12345678[rsi * 4]}
     */
    // Template#: 11085, Serial#: 7527
    public void m_seto_r7527(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1133((byte) 0x90, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code seto  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code seto      0x12345678[rsi * 4]}
     */
    // Template#: 11086, Serial#: 7536
    public void m_seto_r7536(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1134((byte) 0x90, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code seto  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code seto      [rbx + 305419896]}
     */
    // Template#: 11087, Serial#: 7522
    public void seto(int disp32, AMD64IndirectRegister64 destination) {
        assemble1135((byte) 0x90, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code seto  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code seto      [rbx + 305419896]}
     */
    // Template#: 11088, Serial#: 7531
    public void seto_r7531(int disp32, AMD64IndirectRegister64 destination) {
        assemble1136((byte) 0x90, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code seto  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code seto      [rbx + 305419896]}
     */
    // Template#: 11089, Serial#: 7540
    public void seto_r7540(int disp32, AMD64IndirectRegister64 destination) {
        assemble1137((byte) 0x90, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setp  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setp      rbx[rsi * 4 + 18]}
     */
    // Template#: 11090, Serial#: 11089
    public void setp(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1111((byte) 0x9A, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setp  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setp      rbx[rsi * 4 + 18]}
     */
    // Template#: 11091, Serial#: 11098
    public void setp_r11098(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1112((byte) 0x9A, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setp  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setp      rbx[rsi * 4 + 18]}
     */
    // Template#: 11092, Serial#: 11107
    public void setp_r11107(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1113((byte) 0x9A, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setp  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setp      [rbx + 18]}
     */
    // Template#: 11093, Serial#: 11088
    public void setp(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1114((byte) 0x9A, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setp  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setp      [rbx + 18]}
     */
    // Template#: 11094, Serial#: 11097
    public void setp_r11097(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1115((byte) 0x9A, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setp  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setp      [rbx + 18]}
     */
    // Template#: 11095, Serial#: 11106
    public void setp_r11106(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1116((byte) 0x9A, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setp  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setp      rbx[rsi * 4]}
     */
    // Template#: 11096, Serial#: 11085
    public void setp(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1117((byte) 0x9A, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setp  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setp      rbx[rsi * 4]}
     */
    // Template#: 11097, Serial#: 11094
    public void setp_r11094(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1118((byte) 0x9A, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setp  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setp      rbx[rsi * 4]}
     */
    // Template#: 11098, Serial#: 11103
    public void setp_r11103(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1119((byte) 0x9A, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setp  }<i>destination</i>
     * Example disassembly syntax: {@code setp      al}
     */
    // Template#: 11099, Serial#: 11092
    public void setp(AMD64GeneralRegister8 destination) {
        assemble1120((byte) 0x9A, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setp  }<i>destination</i>
     * Example disassembly syntax: {@code setp      al}
     */
    // Template#: 11100, Serial#: 11101
    public void setp_r11101(AMD64GeneralRegister8 destination) {
        assemble1121((byte) 0x9A, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setp  }<i>destination</i>
     * Example disassembly syntax: {@code setp      al}
     */
    // Template#: 11101, Serial#: 11110
    public void setp_r11110(AMD64GeneralRegister8 destination) {
        assemble1122((byte) 0x9A, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setp  }<i>destination</i>
     * Example disassembly syntax: {@code setp      [rbx]}
     */
    // Template#: 11102, Serial#: 11084
    public void setp(AMD64IndirectRegister64 destination) {
        assemble1123((byte) 0x9A, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setp  }<i>destination</i>
     * Example disassembly syntax: {@code setp      [rbx]}
     */
    // Template#: 11103, Serial#: 11093
    public void setp_r11093(AMD64IndirectRegister64 destination) {
        assemble1124((byte) 0x9A, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setp  }<i>destination</i>
     * Example disassembly syntax: {@code setp      [rbx]}
     */
    // Template#: 11104, Serial#: 11102
    public void setp_r11102(AMD64IndirectRegister64 destination) {
        assemble1125((byte) 0x9A, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setp  }<i>rel32</i>
     * Example disassembly syntax: {@code setp      [L1: +305419896]}
     */
    // Template#: 11105, Serial#: 11087
    public void rip_setp(int rel32) {
        assemble1126((byte) 0x9A, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setp  }<i>rel32</i>
     * Example disassembly syntax: {@code setp      [L1: +305419896]}
     */
    // Template#: 11106, Serial#: 11096
    public void rip_setp_r11096(int rel32) {
        assemble1127((byte) 0x9A, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setp  }<i>rel32</i>
     * Example disassembly syntax: {@code setp      [L1: +305419896]}
     */
    // Template#: 11107, Serial#: 11105
    public void rip_setp_r11105(int rel32) {
        assemble1128((byte) 0x9A, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setp  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setp      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11108, Serial#: 11091
    public void setp(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1129((byte) 0x9A, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setp  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setp      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11109, Serial#: 11100
    public void setp_r11100(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1130((byte) 0x9A, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setp  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setp      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11110, Serial#: 11109
    public void setp_r11109(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1131((byte) 0x9A, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setp  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setp      0x12345678[rsi * 4]}
     */
    // Template#: 11111, Serial#: 11086
    public void m_setp(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1132((byte) 0x9A, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setp  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setp      0x12345678[rsi * 4]}
     */
    // Template#: 11112, Serial#: 11095
    public void m_setp_r11095(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1133((byte) 0x9A, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setp  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setp      0x12345678[rsi * 4]}
     */
    // Template#: 11113, Serial#: 11104
    public void m_setp_r11104(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1134((byte) 0x9A, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setp  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setp      [rbx + 305419896]}
     */
    // Template#: 11114, Serial#: 11090
    public void setp(int disp32, AMD64IndirectRegister64 destination) {
        assemble1135((byte) 0x9A, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setp  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setp      [rbx + 305419896]}
     */
    // Template#: 11115, Serial#: 11099
    public void setp_r11099(int disp32, AMD64IndirectRegister64 destination) {
        assemble1136((byte) 0x9A, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setp  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setp      [rbx + 305419896]}
     */
    // Template#: 11116, Serial#: 11108
    public void setp_r11108(int disp32, AMD64IndirectRegister64 destination) {
        assemble1137((byte) 0x9A, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sets  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sets      rbx[rsi * 4 + 18]}
     */
    // Template#: 11117, Serial#: 11035
    public void sets(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1111((byte) 0x98, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sets  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sets      rbx[rsi * 4 + 18]}
     */
    // Template#: 11118, Serial#: 11044
    public void sets_r11044(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1112((byte) 0x98, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sets  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sets      rbx[rsi * 4 + 18]}
     */
    // Template#: 11119, Serial#: 11053
    public void sets_r11053(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1113((byte) 0x98, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sets  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code sets      [rbx + 18]}
     */
    // Template#: 11120, Serial#: 11034
    public void sets(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1114((byte) 0x98, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sets  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code sets      [rbx + 18]}
     */
    // Template#: 11121, Serial#: 11043
    public void sets_r11043(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1115((byte) 0x98, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sets  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code sets      [rbx + 18]}
     */
    // Template#: 11122, Serial#: 11052
    public void sets_r11052(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1116((byte) 0x98, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sets  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sets      rbx[rsi * 4]}
     */
    // Template#: 11123, Serial#: 11031
    public void sets(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1117((byte) 0x98, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sets  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sets      rbx[rsi * 4]}
     */
    // Template#: 11124, Serial#: 11040
    public void sets_r11040(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1118((byte) 0x98, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sets  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sets      rbx[rsi * 4]}
     */
    // Template#: 11125, Serial#: 11049
    public void sets_r11049(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1119((byte) 0x98, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sets  }<i>destination</i>
     * Example disassembly syntax: {@code sets      al}
     */
    // Template#: 11126, Serial#: 11038
    public void sets(AMD64GeneralRegister8 destination) {
        assemble1120((byte) 0x98, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sets  }<i>destination</i>
     * Example disassembly syntax: {@code sets      al}
     */
    // Template#: 11127, Serial#: 11047
    public void sets_r11047(AMD64GeneralRegister8 destination) {
        assemble1121((byte) 0x98, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sets  }<i>destination</i>
     * Example disassembly syntax: {@code sets      al}
     */
    // Template#: 11128, Serial#: 11056
    public void sets_r11056(AMD64GeneralRegister8 destination) {
        assemble1122((byte) 0x98, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sets  }<i>destination</i>
     * Example disassembly syntax: {@code sets      [rbx]}
     */
    // Template#: 11129, Serial#: 11030
    public void sets(AMD64IndirectRegister64 destination) {
        assemble1123((byte) 0x98, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sets  }<i>destination</i>
     * Example disassembly syntax: {@code sets      [rbx]}
     */
    // Template#: 11130, Serial#: 11039
    public void sets_r11039(AMD64IndirectRegister64 destination) {
        assemble1124((byte) 0x98, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sets  }<i>destination</i>
     * Example disassembly syntax: {@code sets      [rbx]}
     */
    // Template#: 11131, Serial#: 11048
    public void sets_r11048(AMD64IndirectRegister64 destination) {
        assemble1125((byte) 0x98, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sets  }<i>rel32</i>
     * Example disassembly syntax: {@code sets      [L1: +305419896]}
     */
    // Template#: 11132, Serial#: 11033
    public void rip_sets(int rel32) {
        assemble1126((byte) 0x98, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sets  }<i>rel32</i>
     * Example disassembly syntax: {@code sets      [L1: +305419896]}
     */
    // Template#: 11133, Serial#: 11042
    public void rip_sets_r11042(int rel32) {
        assemble1127((byte) 0x98, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sets  }<i>rel32</i>
     * Example disassembly syntax: {@code sets      [L1: +305419896]}
     */
    // Template#: 11134, Serial#: 11051
    public void rip_sets_r11051(int rel32) {
        assemble1128((byte) 0x98, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sets  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sets      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11135, Serial#: 11037
    public void sets(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1129((byte) 0x98, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sets  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sets      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11136, Serial#: 11046
    public void sets_r11046(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1130((byte) 0x98, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sets  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sets      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11137, Serial#: 11055
    public void sets_r11055(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1131((byte) 0x98, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sets  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sets      0x12345678[rsi * 4]}
     */
    // Template#: 11138, Serial#: 11032
    public void m_sets(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1132((byte) 0x98, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sets  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sets      0x12345678[rsi * 4]}
     */
    // Template#: 11139, Serial#: 11041
    public void m_sets_r11041(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1133((byte) 0x98, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sets  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sets      0x12345678[rsi * 4]}
     */
    // Template#: 11140, Serial#: 11050
    public void m_sets_r11050(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1134((byte) 0x98, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sets  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code sets      [rbx + 305419896]}
     */
    // Template#: 11141, Serial#: 11036
    public void sets(int disp32, AMD64IndirectRegister64 destination) {
        assemble1135((byte) 0x98, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sets  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code sets      [rbx + 305419896]}
     */
    // Template#: 11142, Serial#: 11045
    public void sets_r11045(int disp32, AMD64IndirectRegister64 destination) {
        assemble1136((byte) 0x98, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sets  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code sets      [rbx + 305419896]}
     */
    // Template#: 11143, Serial#: 11054
    public void sets_r11054(int disp32, AMD64IndirectRegister64 destination) {
        assemble1137((byte) 0x98, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setz  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setz      rbx[rsi * 4 + 18]}
     */
    // Template#: 11144, Serial#: 7629
    public void setz(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1111((byte) 0x94, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setz  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setz      rbx[rsi * 4 + 18]}
     */
    // Template#: 11145, Serial#: 7638
    public void setz_r7638(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1112((byte) 0x94, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setz  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setz      rbx[rsi * 4 + 18]}
     */
    // Template#: 11146, Serial#: 7647
    public void setz_r7647(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1113((byte) 0x94, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setz  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setz      [rbx + 18]}
     */
    // Template#: 11147, Serial#: 7628
    public void setz(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1114((byte) 0x94, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setz  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setz      [rbx + 18]}
     */
    // Template#: 11148, Serial#: 7637
    public void setz_r7637(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1115((byte) 0x94, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setz  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code setz      [rbx + 18]}
     */
    // Template#: 11149, Serial#: 7646
    public void setz_r7646(byte disp8, AMD64IndirectRegister64 destination) {
        assemble1116((byte) 0x94, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setz  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setz      rbx[rsi * 4]}
     */
    // Template#: 11150, Serial#: 7625
    public void setz(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1117((byte) 0x94, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setz  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setz      rbx[rsi * 4]}
     */
    // Template#: 11151, Serial#: 7634
    public void setz_r7634(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1118((byte) 0x94, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setz  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setz      rbx[rsi * 4]}
     */
    // Template#: 11152, Serial#: 7643
    public void setz_r7643(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1119((byte) 0x94, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setz  }<i>destination</i>
     * Example disassembly syntax: {@code setz      al}
     */
    // Template#: 11153, Serial#: 7632
    public void setz(AMD64GeneralRegister8 destination) {
        assemble1120((byte) 0x94, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setz  }<i>destination</i>
     * Example disassembly syntax: {@code setz      al}
     */
    // Template#: 11154, Serial#: 7641
    public void setz_r7641(AMD64GeneralRegister8 destination) {
        assemble1121((byte) 0x94, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setz  }<i>destination</i>
     * Example disassembly syntax: {@code setz      al}
     */
    // Template#: 11155, Serial#: 7650
    public void setz_r7650(AMD64GeneralRegister8 destination) {
        assemble1122((byte) 0x94, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setz  }<i>destination</i>
     * Example disassembly syntax: {@code setz      [rbx]}
     */
    // Template#: 11156, Serial#: 7624
    public void setz(AMD64IndirectRegister64 destination) {
        assemble1123((byte) 0x94, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setz  }<i>destination</i>
     * Example disassembly syntax: {@code setz      [rbx]}
     */
    // Template#: 11157, Serial#: 7633
    public void setz_r7633(AMD64IndirectRegister64 destination) {
        assemble1124((byte) 0x94, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setz  }<i>destination</i>
     * Example disassembly syntax: {@code setz      [rbx]}
     */
    // Template#: 11158, Serial#: 7642
    public void setz_r7642(AMD64IndirectRegister64 destination) {
        assemble1125((byte) 0x94, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setz  }<i>rel32</i>
     * Example disassembly syntax: {@code setz      [L1: +305419896]}
     */
    // Template#: 11159, Serial#: 7627
    public void rip_setz(int rel32) {
        assemble1126((byte) 0x94, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setz  }<i>rel32</i>
     * Example disassembly syntax: {@code setz      [L1: +305419896]}
     */
    // Template#: 11160, Serial#: 7636
    public void rip_setz_r7636(int rel32) {
        assemble1127((byte) 0x94, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setz  }<i>rel32</i>
     * Example disassembly syntax: {@code setz      [L1: +305419896]}
     */
    // Template#: 11161, Serial#: 7645
    public void rip_setz_r7645(int rel32) {
        assemble1128((byte) 0x94, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code setz  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setz      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11162, Serial#: 7631
    public void setz(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1129((byte) 0x94, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setz  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setz      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11163, Serial#: 7640
    public void setz_r7640(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1130((byte) 0x94, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setz  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setz      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11164, Serial#: 7649
    public void setz_r7649(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble1131((byte) 0x94, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setz  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setz      0x12345678[rsi * 4]}
     */
    // Template#: 11165, Serial#: 7626
    public void m_setz(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1132((byte) 0x94, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setz  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setz      0x12345678[rsi * 4]}
     */
    // Template#: 11166, Serial#: 7635
    public void m_setz_r7635(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1133((byte) 0x94, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setz  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code setz      0x12345678[rsi * 4]}
     */
    // Template#: 11167, Serial#: 7644
    public void m_setz_r7644(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble1134((byte) 0x94, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code setz  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setz      [rbx + 305419896]}
     */
    // Template#: 11168, Serial#: 7630
    public void setz(int disp32, AMD64IndirectRegister64 destination) {
        assemble1135((byte) 0x94, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setz  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setz      [rbx + 305419896]}
     */
    // Template#: 11169, Serial#: 7639
    public void setz_r7639(int disp32, AMD64IndirectRegister64 destination) {
        assemble1136((byte) 0x94, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code setz  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code setz      [rbx + 305419896]}
     */
    // Template#: 11170, Serial#: 7648
    public void setz_r7648(int disp32, AMD64IndirectRegister64 destination) {
        assemble1137((byte) 0x94, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sfence  }
     * Example disassembly syntax: {@code sfence  }
     */
    // Template#: 11171, Serial#: 11456
    public void sfence() {
        assemble0692((byte) 0xAE, (byte) 0x07);
    }

    /**
     * Pseudo-external assembler syntax: {@code sfence  }
     * Example disassembly syntax: {@code sfence  }
     */
    // Template#: 11172, Serial#: 11459
    public void sfence_r11459() {
        assemble0693((byte) 0xAE, (byte) 0x07);
    }

    /**
     * Pseudo-external assembler syntax: {@code sfence  }
     * Example disassembly syntax: {@code sfence  }
     */
    // Template#: 11173, Serial#: 11462
    public void sfence_r11462() {
        assemble0694((byte) 0xAE, (byte) 0x07);
    }

    /**
     * Pseudo-external assembler syntax: {@code sgdt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sgdt      rbx[rsi * 4 + 18]}
     */
    // Template#: 11174, Serial#: 5674
    public void sgdt(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0349((byte) 0x01, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sgdt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sgdt      rbx[rsi * 4 + 18]}
     */
    // Template#: 11175, Serial#: 5731
    public void sgdt_r5731(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0350((byte) 0x01, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sgdt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sgdt      rbx[rsi * 4 + 18]}
     */
    // Template#: 11176, Serial#: 5788
    public void sgdt_r5788(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0351((byte) 0x01, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sgdt  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code sgdt      [rbx + 18]}
     */
    // Template#: 11177, Serial#: 5673
    public void sgdt(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0352((byte) 0x01, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sgdt  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code sgdt      [rbx + 18]}
     */
    // Template#: 11178, Serial#: 5730
    public void sgdt_r5730(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0353((byte) 0x01, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sgdt  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code sgdt      [rbx + 18]}
     */
    // Template#: 11179, Serial#: 5787
    public void sgdt_r5787(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0354((byte) 0x01, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sgdt  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sgdt      rbx[rsi * 4]}
     */
    // Template#: 11180, Serial#: 5646
    public void sgdt(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0355((byte) 0x01, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sgdt  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sgdt      rbx[rsi * 4]}
     */
    // Template#: 11181, Serial#: 5703
    public void sgdt_r5703(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0356((byte) 0x01, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sgdt  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sgdt      rbx[rsi * 4]}
     */
    // Template#: 11182, Serial#: 5760
    public void sgdt_r5760(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0357((byte) 0x01, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sgdt  }<i>destination</i>
     * Example disassembly syntax: {@code sgdt      [rbx]}
     */
    // Template#: 11183, Serial#: 5645
    public void sgdt(AMD64IndirectRegister64 destination) {
        assemble0358((byte) 0x01, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sgdt  }<i>destination</i>
     * Example disassembly syntax: {@code sgdt      [rbx]}
     */
    // Template#: 11184, Serial#: 5702
    public void sgdt_r5702(AMD64IndirectRegister64 destination) {
        assemble0359((byte) 0x01, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sgdt  }<i>destination</i>
     * Example disassembly syntax: {@code sgdt      [rbx]}
     */
    // Template#: 11185, Serial#: 5759
    public void sgdt_r5759(AMD64IndirectRegister64 destination) {
        assemble0360((byte) 0x01, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sgdt  }<i>rel32</i>
     * Example disassembly syntax: {@code sgdt      [L1: +305419896]}
     */
    // Template#: 11186, Serial#: 5648
    public void rip_sgdt(int rel32) {
        assemble0361((byte) 0x01, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sgdt  }<i>rel32</i>
     * Example disassembly syntax: {@code sgdt      [L1: +305419896]}
     */
    // Template#: 11187, Serial#: 5705
    public void rip_sgdt_r5705(int rel32) {
        assemble0362((byte) 0x01, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sgdt  }<i>rel32</i>
     * Example disassembly syntax: {@code sgdt      [L1: +305419896]}
     */
    // Template#: 11188, Serial#: 5762
    public void rip_sgdt_r5762(int rel32) {
        assemble0363((byte) 0x01, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sgdt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sgdt      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11189, Serial#: 5688
    public void sgdt(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0364((byte) 0x01, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sgdt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sgdt      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11190, Serial#: 5745
    public void sgdt_r5745(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0365((byte) 0x01, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sgdt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sgdt      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11191, Serial#: 5802
    public void sgdt_r5802(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0366((byte) 0x01, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sgdt  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sgdt      0x12345678[rsi * 4]}
     */
    // Template#: 11192, Serial#: 5647
    public void m_sgdt(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0367((byte) 0x01, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sgdt  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sgdt      0x12345678[rsi * 4]}
     */
    // Template#: 11193, Serial#: 5704
    public void m_sgdt_r5704(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0368((byte) 0x01, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sgdt  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sgdt      0x12345678[rsi * 4]}
     */
    // Template#: 11194, Serial#: 5761
    public void m_sgdt_r5761(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0369((byte) 0x01, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sgdt  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code sgdt      [rbx + 305419896]}
     */
    // Template#: 11195, Serial#: 5687
    public void sgdt(int disp32, AMD64IndirectRegister64 destination) {
        assemble0370((byte) 0x01, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sgdt  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code sgdt      [rbx + 305419896]}
     */
    // Template#: 11196, Serial#: 5744
    public void sgdt_r5744(int disp32, AMD64IndirectRegister64 destination) {
        assemble0371((byte) 0x01, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sgdt  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code sgdt      [rbx + 305419896]}
     */
    // Template#: 11197, Serial#: 5801
    public void sgdt_r5801(int disp32, AMD64IndirectRegister64 destination) {
        assemble0372((byte) 0x01, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 11198, Serial#: 1817
    public void shlb___1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD0, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 11199, Serial#: 1821
    public void shlb___1_r1821(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD0, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 11200, Serial#: 1889
    public void shlb___1_r1889(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD0, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 11201, Serial#: 1893
    public void shlb___1_r1893(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD0, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 11202, Serial#: 1961
    public void shlb___1_r1961(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD0, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 11203, Serial#: 1965
    public void shlb___1_r1965(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD0, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shll      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 11204, Serial#: 2033
    public void shll___1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD1, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shll      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 11205, Serial#: 2037
    public void shll___1_r2037(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD1, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlq      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 11206, Serial#: 2105
    public void shlq___1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD1, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlq      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 11207, Serial#: 2109
    public void shlq___1_r2109(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD1, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlw      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 11208, Serial#: 2177
    public void shlw___1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD1, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlw      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 11209, Serial#: 2181
    public void shlw___1_r2181(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD1, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 11210, Serial#: 2249
    public void shlb___CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD2, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 11211, Serial#: 2253
    public void shlb___CL_r2253(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD2, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 11212, Serial#: 2321
    public void shlb___CL_r2321(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD2, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 11213, Serial#: 2325
    public void shlb___CL_r2325(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD2, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 11214, Serial#: 2393
    public void shlb___CL_r2393(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD2, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 11215, Serial#: 2397
    public void shlb___CL_r2397(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD2, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shll      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 11216, Serial#: 2465
    public void shll___CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD3, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shll      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 11217, Serial#: 2469
    public void shll___CL_r2469(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD3, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlq      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 11218, Serial#: 2537
    public void shlq___CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD3, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlq      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 11219, Serial#: 2541
    public void shlq___CL_r2541(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD3, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlw      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 11220, Serial#: 2609
    public void shlw___CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD3, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlw      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 11221, Serial#: 2613
    public void shlw___CL_r2613(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD3, (byte) 0x06, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 11222, Serial#: 1327
    public void shlb(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0xC0, (byte) 0x04, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 11223, Serial#: 1331
    public void shlb_r1331(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0xC0, (byte) 0x06, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 11224, Serial#: 1399
    public void shlb_r1399(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0xC0, (byte) 0x04, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 11225, Serial#: 1403
    public void shlb_r1403(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0xC0, (byte) 0x06, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 11226, Serial#: 1471
    public void shlb_r1471(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0xC0, (byte) 0x04, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 11227, Serial#: 1475
    public void shlb_r1475(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0xC0, (byte) 0x06, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shll      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 11228, Serial#: 1543
    public void shll(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0xC1, (byte) 0x04, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shll      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 11229, Serial#: 1547
    public void shll_r1547(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0xC1, (byte) 0x06, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlq      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 11230, Serial#: 1615
    public void shlq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0xC1, (byte) 0x04, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlq      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 11231, Serial#: 1619
    public void shlq_r1619(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0xC1, (byte) 0x06, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlw      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 11232, Serial#: 1687
    public void shlw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0xC1, (byte) 0x04, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlw      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 11233, Serial#: 1691
    public void shlw_r1691(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0xC1, (byte) 0x06, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx + 18], 0x1}
     */
    // Template#: 11234, Serial#: 1816
    public void shlb___1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD0, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx + 18], 0x1}
     */
    // Template#: 11235, Serial#: 1820
    public void shlb___1_r1820(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD0, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx + 18], 0x1}
     */
    // Template#: 11236, Serial#: 1888
    public void shlb___1_r1888(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD0, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx + 18], 0x1}
     */
    // Template#: 11237, Serial#: 1892
    public void shlb___1_r1892(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD0, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx + 18], 0x1}
     */
    // Template#: 11238, Serial#: 1960
    public void shlb___1_r1960(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD0, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx + 18], 0x1}
     */
    // Template#: 11239, Serial#: 1964
    public void shlb___1_r1964(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD0, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shll      [rbx + 18], 0x1}
     */
    // Template#: 11240, Serial#: 2032
    public void shll___1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD1, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shll      [rbx + 18], 0x1}
     */
    // Template#: 11241, Serial#: 2036
    public void shll___1_r2036(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD1, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlq      [rbx + 18], 0x1}
     */
    // Template#: 11242, Serial#: 2104
    public void shlq___1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD1, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlq      [rbx + 18], 0x1}
     */
    // Template#: 11243, Serial#: 2108
    public void shlq___1_r2108(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD1, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlw      [rbx + 18], 0x1}
     */
    // Template#: 11244, Serial#: 2176
    public void shlw___1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD1, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlw      [rbx + 18], 0x1}
     */
    // Template#: 11245, Serial#: 2180
    public void shlw___1_r2180(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD1, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx + 18], cl}
     */
    // Template#: 11246, Serial#: 2248
    public void shlb___CL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD2, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx + 18], cl}
     */
    // Template#: 11247, Serial#: 2252
    public void shlb___CL_r2252(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD2, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx + 18], cl}
     */
    // Template#: 11248, Serial#: 2320
    public void shlb___CL_r2320(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD2, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx + 18], cl}
     */
    // Template#: 11249, Serial#: 2324
    public void shlb___CL_r2324(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD2, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx + 18], cl}
     */
    // Template#: 11250, Serial#: 2392
    public void shlb___CL_r2392(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD2, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx + 18], cl}
     */
    // Template#: 11251, Serial#: 2396
    public void shlb___CL_r2396(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD2, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shll      [rbx + 18], cl}
     */
    // Template#: 11252, Serial#: 2464
    public void shll___CL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD3, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shll      [rbx + 18], cl}
     */
    // Template#: 11253, Serial#: 2468
    public void shll___CL_r2468(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD3, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlq      [rbx + 18], cl}
     */
    // Template#: 11254, Serial#: 2536
    public void shlq___CL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD3, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlq      [rbx + 18], cl}
     */
    // Template#: 11255, Serial#: 2540
    public void shlq___CL_r2540(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD3, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlw      [rbx + 18], cl}
     */
    // Template#: 11256, Serial#: 2608
    public void shlw___CL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD3, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlw      [rbx + 18], cl}
     */
    // Template#: 11257, Serial#: 2612
    public void shlw___CL_r2612(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD3, (byte) 0x06, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      [rbx + 18], 0x12}
     */
    // Template#: 11258, Serial#: 1326
    public void shlb(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0xC0, (byte) 0x04, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      [rbx + 18], 0x12}
     */
    // Template#: 11259, Serial#: 1330
    public void shlb_r1330(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0xC0, (byte) 0x06, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      [rbx + 18], 0x12}
     */
    // Template#: 11260, Serial#: 1398
    public void shlb_r1398(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0xC0, (byte) 0x04, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      [rbx + 18], 0x12}
     */
    // Template#: 11261, Serial#: 1402
    public void shlb_r1402(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0xC0, (byte) 0x06, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      [rbx + 18], 0x12}
     */
    // Template#: 11262, Serial#: 1470
    public void shlb_r1470(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0xC0, (byte) 0x04, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      [rbx + 18], 0x12}
     */
    // Template#: 11263, Serial#: 1474
    public void shlb_r1474(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0xC0, (byte) 0x06, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shll      [rbx + 18], 0x12}
     */
    // Template#: 11264, Serial#: 1542
    public void shll(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0xC1, (byte) 0x04, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shll      [rbx + 18], 0x12}
     */
    // Template#: 11265, Serial#: 1546
    public void shll_r1546(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0xC1, (byte) 0x06, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlq      [rbx + 18], 0x12}
     */
    // Template#: 11266, Serial#: 1614
    public void shlq(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0xC1, (byte) 0x04, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlq      [rbx + 18], 0x12}
     */
    // Template#: 11267, Serial#: 1618
    public void shlq_r1618(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0xC1, (byte) 0x06, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlw      [rbx + 18], 0x12}
     */
    // Template#: 11268, Serial#: 1686
    public void shlw(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0xC1, (byte) 0x04, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlw      [rbx + 18], 0x12}
     */
    // Template#: 11269, Serial#: 1690
    public void shlw_r1690(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0xC1, (byte) 0x06, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4], 0x1}
     */
    // Template#: 11270, Serial#: 1793
    public void shlb___1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD0, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4], 0x1}
     */
    // Template#: 11271, Serial#: 1801
    public void shlb___1_r1801(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD0, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4], 0x1}
     */
    // Template#: 11272, Serial#: 1865
    public void shlb___1_r1865(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD0, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4], 0x1}
     */
    // Template#: 11273, Serial#: 1873
    public void shlb___1_r1873(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD0, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4], 0x1}
     */
    // Template#: 11274, Serial#: 1937
    public void shlb___1_r1937(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD0, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4], 0x1}
     */
    // Template#: 11275, Serial#: 1945
    public void shlb___1_r1945(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD0, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shll      rbx[rsi * 4], 0x1}
     */
    // Template#: 11276, Serial#: 2009
    public void shll___1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD1, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shll      rbx[rsi * 4], 0x1}
     */
    // Template#: 11277, Serial#: 2017
    public void shll___1_r2017(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD1, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlq      rbx[rsi * 4], 0x1}
     */
    // Template#: 11278, Serial#: 2081
    public void shlq___1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD1, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlq      rbx[rsi * 4], 0x1}
     */
    // Template#: 11279, Serial#: 2089
    public void shlq___1_r2089(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD1, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlw      rbx[rsi * 4], 0x1}
     */
    // Template#: 11280, Serial#: 2153
    public void shlw___1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD1, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlw      rbx[rsi * 4], 0x1}
     */
    // Template#: 11281, Serial#: 2161
    public void shlw___1_r2161(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD1, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4], cl}
     */
    // Template#: 11282, Serial#: 2225
    public void shlb___CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD2, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4], cl}
     */
    // Template#: 11283, Serial#: 2233
    public void shlb___CL_r2233(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD2, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4], cl}
     */
    // Template#: 11284, Serial#: 2297
    public void shlb___CL_r2297(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD2, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4], cl}
     */
    // Template#: 11285, Serial#: 2305
    public void shlb___CL_r2305(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD2, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4], cl}
     */
    // Template#: 11286, Serial#: 2369
    public void shlb___CL_r2369(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD2, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4], cl}
     */
    // Template#: 11287, Serial#: 2377
    public void shlb___CL_r2377(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD2, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shll      rbx[rsi * 4], cl}
     */
    // Template#: 11288, Serial#: 2441
    public void shll___CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD3, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shll      rbx[rsi * 4], cl}
     */
    // Template#: 11289, Serial#: 2449
    public void shll___CL_r2449(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD3, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlq      rbx[rsi * 4], cl}
     */
    // Template#: 11290, Serial#: 2513
    public void shlq___CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD3, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlq      rbx[rsi * 4], cl}
     */
    // Template#: 11291, Serial#: 2521
    public void shlq___CL_r2521(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD3, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlw      rbx[rsi * 4], cl}
     */
    // Template#: 11292, Serial#: 2585
    public void shlw___CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD3, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlw      rbx[rsi * 4], cl}
     */
    // Template#: 11293, Serial#: 2593
    public void shlw___CL_r2593(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD3, (byte) 0x06, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4], 0x12}
     */
    // Template#: 11294, Serial#: 1303
    public void shlb(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0xC0, (byte) 0x04, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4], 0x12}
     */
    // Template#: 11295, Serial#: 1311
    public void shlb_r1311(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0xC0, (byte) 0x06, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4], 0x12}
     */
    // Template#: 11296, Serial#: 1375
    public void shlb_r1375(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0xC0, (byte) 0x04, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4], 0x12}
     */
    // Template#: 11297, Serial#: 1383
    public void shlb_r1383(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0xC0, (byte) 0x06, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4], 0x12}
     */
    // Template#: 11298, Serial#: 1447
    public void shlb_r1447(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0xC0, (byte) 0x04, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4], 0x12}
     */
    // Template#: 11299, Serial#: 1455
    public void shlb_r1455(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0xC0, (byte) 0x06, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shll      rbx[rsi * 4], 0x12}
     */
    // Template#: 11300, Serial#: 1519
    public void shll(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0xC1, (byte) 0x04, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shll      rbx[rsi * 4], 0x12}
     */
    // Template#: 11301, Serial#: 1527
    public void shll_r1527(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0xC1, (byte) 0x06, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlq      rbx[rsi * 4], 0x12}
     */
    // Template#: 11302, Serial#: 1591
    public void shlq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0xC1, (byte) 0x04, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlq      rbx[rsi * 4], 0x12}
     */
    // Template#: 11303, Serial#: 1599
    public void shlq_r1599(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0xC1, (byte) 0x06, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlw      rbx[rsi * 4], 0x12}
     */
    // Template#: 11304, Serial#: 1663
    public void shlw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0xC1, (byte) 0x04, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlw      rbx[rsi * 4], 0x12}
     */
    // Template#: 11305, Serial#: 1671
    public void shlw_r1671(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0xC1, (byte) 0x06, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>destination</i>
     * Example disassembly syntax: {@code shlw      ax, 0x1}
     */
    // Template#: 11306, Serial#: 2204
    public void shlw___1(AMD64GeneralRegister16 destination) {
        assemble0336((byte) 0xD1, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>destination</i>
     * Example disassembly syntax: {@code shlw      ax, 0x1}
     */
    // Template#: 11307, Serial#: 2206
    public void shlw___1_r2206(AMD64GeneralRegister16 destination) {
        assemble0336((byte) 0xD1, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>destination</i>
     * Example disassembly syntax: {@code shlw      ax, cl}
     */
    // Template#: 11308, Serial#: 2636
    public void shlw___CL(AMD64GeneralRegister16 destination) {
        assemble0336((byte) 0xD3, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>destination</i>
     * Example disassembly syntax: {@code shlw      ax, cl}
     */
    // Template#: 11309, Serial#: 2638
    public void shlw___CL_r2638(AMD64GeneralRegister16 destination) {
        assemble0336((byte) 0xD3, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlw      ax, 0x12}
     */
    // Template#: 11310, Serial#: 1714
    public void shlw(AMD64GeneralRegister16 destination, byte imm8) {
        assemble0040((byte) 0xC1, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlw      ax, 0x12}
     */
    // Template#: 11311, Serial#: 1716
    public void shlw_r1716(AMD64GeneralRegister16 destination, byte imm8) {
        assemble0040((byte) 0xC1, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>destination</i>
     * Example disassembly syntax: {@code shll      eax, 0x1}
     */
    // Template#: 11312, Serial#: 2060
    public void shll___1(AMD64GeneralRegister32 destination) {
        assemble0576((byte) 0xD1, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>destination</i>
     * Example disassembly syntax: {@code shll      eax, 0x1}
     */
    // Template#: 11313, Serial#: 2062
    public void shll___1_r2062(AMD64GeneralRegister32 destination) {
        assemble0576((byte) 0xD1, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>destination</i>
     * Example disassembly syntax: {@code shll      eax, cl}
     */
    // Template#: 11314, Serial#: 2492
    public void shll___CL(AMD64GeneralRegister32 destination) {
        assemble0576((byte) 0xD3, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>destination</i>
     * Example disassembly syntax: {@code shll      eax, cl}
     */
    // Template#: 11315, Serial#: 2494
    public void shll___CL_r2494(AMD64GeneralRegister32 destination) {
        assemble0576((byte) 0xD3, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shll      eax, 0x12}
     */
    // Template#: 11316, Serial#: 1570
    public void shll(AMD64GeneralRegister32 destination, byte imm8) {
        assemble0052((byte) 0xC1, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shll      eax, 0x12}
     */
    // Template#: 11317, Serial#: 1572
    public void shll_r1572(AMD64GeneralRegister32 destination, byte imm8) {
        assemble0052((byte) 0xC1, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>destination</i>
     * Example disassembly syntax: {@code shlq      rax, 0x1}
     */
    // Template#: 11318, Serial#: 2132
    public void shlq___1(AMD64GeneralRegister64 destination) {
        assemble0577((byte) 0xD1, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>destination</i>
     * Example disassembly syntax: {@code shlq      rax, 0x1}
     */
    // Template#: 11319, Serial#: 2134
    public void shlq___1_r2134(AMD64GeneralRegister64 destination) {
        assemble0577((byte) 0xD1, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>destination</i>
     * Example disassembly syntax: {@code shlq      rax, cl}
     */
    // Template#: 11320, Serial#: 2564
    public void shlq___CL(AMD64GeneralRegister64 destination) {
        assemble0577((byte) 0xD3, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>destination</i>
     * Example disassembly syntax: {@code shlq      rax, cl}
     */
    // Template#: 11321, Serial#: 2566
    public void shlq___CL_r2566(AMD64GeneralRegister64 destination) {
        assemble0577((byte) 0xD3, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlq      rax, 0x12}
     */
    // Template#: 11322, Serial#: 1642
    public void shlq(AMD64GeneralRegister64 destination, byte imm8) {
        assemble0064((byte) 0xC1, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlq      rax, 0x12}
     */
    // Template#: 11323, Serial#: 1644
    public void shlq_r1644(AMD64GeneralRegister64 destination, byte imm8) {
        assemble0064((byte) 0xC1, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>
     * Example disassembly syntax: {@code shlb      al, 0x1}
     */
    // Template#: 11324, Serial#: 1844
    public void shlb___1(AMD64GeneralRegister8 destination) {
        assemble0578((byte) 0xD0, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>
     * Example disassembly syntax: {@code shlb      al, 0x1}
     */
    // Template#: 11325, Serial#: 1846
    public void shlb___1_r1846(AMD64GeneralRegister8 destination) {
        assemble0578((byte) 0xD0, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>
     * Example disassembly syntax: {@code shlb      al, 0x1}
     */
    // Template#: 11326, Serial#: 1916
    public void shlb___1_r1916(AMD64GeneralRegister8 destination) {
        assemble0579((byte) 0xD0, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>
     * Example disassembly syntax: {@code shlb      al, 0x1}
     */
    // Template#: 11327, Serial#: 1918
    public void shlb___1_r1918(AMD64GeneralRegister8 destination) {
        assemble0579((byte) 0xD0, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>
     * Example disassembly syntax: {@code shlb      al, 0x1}
     */
    // Template#: 11328, Serial#: 1988
    public void shlb___1_r1988(AMD64GeneralRegister8 destination) {
        assemble0580((byte) 0xD0, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>
     * Example disassembly syntax: {@code shlb      al, 0x1}
     */
    // Template#: 11329, Serial#: 1990
    public void shlb___1_r1990(AMD64GeneralRegister8 destination) {
        assemble0580((byte) 0xD0, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>
     * Example disassembly syntax: {@code shlb      al, cl}
     */
    // Template#: 11330, Serial#: 2276
    public void shlb___CL(AMD64GeneralRegister8 destination) {
        assemble0578((byte) 0xD2, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>
     * Example disassembly syntax: {@code shlb      al, cl}
     */
    // Template#: 11331, Serial#: 2278
    public void shlb___CL_r2278(AMD64GeneralRegister8 destination) {
        assemble0578((byte) 0xD2, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>
     * Example disassembly syntax: {@code shlb      al, cl}
     */
    // Template#: 11332, Serial#: 2348
    public void shlb___CL_r2348(AMD64GeneralRegister8 destination) {
        assemble0579((byte) 0xD2, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>
     * Example disassembly syntax: {@code shlb      al, cl}
     */
    // Template#: 11333, Serial#: 2350
    public void shlb___CL_r2350(AMD64GeneralRegister8 destination) {
        assemble0579((byte) 0xD2, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>
     * Example disassembly syntax: {@code shlb      al, cl}
     */
    // Template#: 11334, Serial#: 2420
    public void shlb___CL_r2420(AMD64GeneralRegister8 destination) {
        assemble0580((byte) 0xD2, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>
     * Example disassembly syntax: {@code shlb      al, cl}
     */
    // Template#: 11335, Serial#: 2422
    public void shlb___CL_r2422(AMD64GeneralRegister8 destination) {
        assemble0580((byte) 0xD2, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      al, 0x12}
     */
    // Template#: 11336, Serial#: 1354
    public void shlb(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0076((byte) 0xC0, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      al, 0x12}
     */
    // Template#: 11337, Serial#: 1356
    public void shlb_r1356(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0076((byte) 0xC0, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      al, 0x12}
     */
    // Template#: 11338, Serial#: 1426
    public void shlb_r1426(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0077((byte) 0xC0, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      al, 0x12}
     */
    // Template#: 11339, Serial#: 1428
    public void shlb_r1428(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0077((byte) 0xC0, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      al, 0x12}
     */
    // Template#: 11340, Serial#: 1498
    public void shlb_r1498(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0078((byte) 0xC0, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      al, 0x12}
     */
    // Template#: 11341, Serial#: 1500
    public void shlb_r1500(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0078((byte) 0xC0, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx], 0x1}
     */
    // Template#: 11342, Serial#: 1792
    public void shlb___1(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD0, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx], 0x1}
     */
    // Template#: 11343, Serial#: 1800
    public void shlb___1_r1800(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD0, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx], 0x1}
     */
    // Template#: 11344, Serial#: 1864
    public void shlb___1_r1864(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD0, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx], 0x1}
     */
    // Template#: 11345, Serial#: 1872
    public void shlb___1_r1872(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD0, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx], 0x1}
     */
    // Template#: 11346, Serial#: 1936
    public void shlb___1_r1936(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD0, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx], 0x1}
     */
    // Template#: 11347, Serial#: 1944
    public void shlb___1_r1944(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD0, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>destination</i>
     * Example disassembly syntax: {@code shll      [rbx], 0x1}
     */
    // Template#: 11348, Serial#: 2008
    public void shll___1(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD1, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>destination</i>
     * Example disassembly syntax: {@code shll      [rbx], 0x1}
     */
    // Template#: 11349, Serial#: 2016
    public void shll___1_r2016(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD1, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>destination</i>
     * Example disassembly syntax: {@code shlq      [rbx], 0x1}
     */
    // Template#: 11350, Serial#: 2080
    public void shlq___1(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD1, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>destination</i>
     * Example disassembly syntax: {@code shlq      [rbx], 0x1}
     */
    // Template#: 11351, Serial#: 2088
    public void shlq___1_r2088(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD1, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>destination</i>
     * Example disassembly syntax: {@code shlw      [rbx], 0x1}
     */
    // Template#: 11352, Serial#: 2152
    public void shlw___1(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD1, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>destination</i>
     * Example disassembly syntax: {@code shlw      [rbx], 0x1}
     */
    // Template#: 11353, Serial#: 2160
    public void shlw___1_r2160(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD1, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx], cl}
     */
    // Template#: 11354, Serial#: 2224
    public void shlb___CL(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD2, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx], cl}
     */
    // Template#: 11355, Serial#: 2232
    public void shlb___CL_r2232(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD2, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx], cl}
     */
    // Template#: 11356, Serial#: 2296
    public void shlb___CL_r2296(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD2, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx], cl}
     */
    // Template#: 11357, Serial#: 2304
    public void shlb___CL_r2304(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD2, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx], cl}
     */
    // Template#: 11358, Serial#: 2368
    public void shlb___CL_r2368(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD2, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx], cl}
     */
    // Template#: 11359, Serial#: 2376
    public void shlb___CL_r2376(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD2, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>destination</i>
     * Example disassembly syntax: {@code shll      [rbx], cl}
     */
    // Template#: 11360, Serial#: 2440
    public void shll___CL(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD3, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>destination</i>
     * Example disassembly syntax: {@code shll      [rbx], cl}
     */
    // Template#: 11361, Serial#: 2448
    public void shll___CL_r2448(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD3, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>destination</i>
     * Example disassembly syntax: {@code shlq      [rbx], cl}
     */
    // Template#: 11362, Serial#: 2512
    public void shlq___CL(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD3, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>destination</i>
     * Example disassembly syntax: {@code shlq      [rbx], cl}
     */
    // Template#: 11363, Serial#: 2520
    public void shlq___CL_r2520(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD3, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>destination</i>
     * Example disassembly syntax: {@code shlw      [rbx], cl}
     */
    // Template#: 11364, Serial#: 2584
    public void shlw___CL(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD3, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>destination</i>
     * Example disassembly syntax: {@code shlw      [rbx], cl}
     */
    // Template#: 11365, Serial#: 2592
    public void shlw___CL_r2592(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD3, (byte) 0x06, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      [rbx], 0x12}
     */
    // Template#: 11366, Serial#: 1302
    public void shlb(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0xC0, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      [rbx], 0x12}
     */
    // Template#: 11367, Serial#: 1310
    public void shlb_r1310(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0xC0, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      [rbx], 0x12}
     */
    // Template#: 11368, Serial#: 1374
    public void shlb_r1374(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0xC0, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      [rbx], 0x12}
     */
    // Template#: 11369, Serial#: 1382
    public void shlb_r1382(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0xC0, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      [rbx], 0x12}
     */
    // Template#: 11370, Serial#: 1446
    public void shlb_r1446(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0xC0, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      [rbx], 0x12}
     */
    // Template#: 11371, Serial#: 1454
    public void shlb_r1454(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0xC0, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shll      [rbx], 0x12}
     */
    // Template#: 11372, Serial#: 1518
    public void shll(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0xC1, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shll      [rbx], 0x12}
     */
    // Template#: 11373, Serial#: 1526
    public void shll_r1526(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0xC1, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlq      [rbx], 0x12}
     */
    // Template#: 11374, Serial#: 1590
    public void shlq(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0xC1, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlq      [rbx], 0x12}
     */
    // Template#: 11375, Serial#: 1598
    public void shlq_r1598(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0xC1, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlw      [rbx], 0x12}
     */
    // Template#: 11376, Serial#: 1662
    public void shlw(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0xC1, (byte) 0x04, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlw      [rbx], 0x12}
     */
    // Template#: 11377, Serial#: 1670
    public void shlw_r1670(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0xC1, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>rel32</i>
     * Example disassembly syntax: {@code shlb      [L1: +305419896], 0x1}
     */
    // Template#: 11378, Serial#: 1795
    public void rip_shlb___1(int rel32) {
        assemble0341((byte) 0xD0, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>rel32</i>
     * Example disassembly syntax: {@code shlb      [L1: +305419896], 0x1}
     */
    // Template#: 11379, Serial#: 1803
    public void rip_shlb___1_r1803(int rel32) {
        assemble0341((byte) 0xD0, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>rel32</i>
     * Example disassembly syntax: {@code shlb      [L1: +305419896], 0x1}
     */
    // Template#: 11380, Serial#: 1867
    public void rip_shlb___1_r1867(int rel32) {
        assemble0582((byte) 0xD0, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>rel32</i>
     * Example disassembly syntax: {@code shlb      [L1: +305419896], 0x1}
     */
    // Template#: 11381, Serial#: 1875
    public void rip_shlb___1_r1875(int rel32) {
        assemble0582((byte) 0xD0, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>rel32</i>
     * Example disassembly syntax: {@code shlb      [L1: +305419896], 0x1}
     */
    // Template#: 11382, Serial#: 1939
    public void rip_shlb___1_r1939(int rel32) {
        assemble0342((byte) 0xD0, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>rel32</i>
     * Example disassembly syntax: {@code shlb      [L1: +305419896], 0x1}
     */
    // Template#: 11383, Serial#: 1947
    public void rip_shlb___1_r1947(int rel32) {
        assemble0342((byte) 0xD0, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>rel32</i>
     * Example disassembly syntax: {@code shll      [L1: +305419896], 0x1}
     */
    // Template#: 11384, Serial#: 2011
    public void rip_shll___1(int rel32) {
        assemble0341((byte) 0xD1, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>rel32</i>
     * Example disassembly syntax: {@code shll      [L1: +305419896], 0x1}
     */
    // Template#: 11385, Serial#: 2019
    public void rip_shll___1_r2019(int rel32) {
        assemble0341((byte) 0xD1, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>rel32</i>
     * Example disassembly syntax: {@code shlq      [L1: +305419896], 0x1}
     */
    // Template#: 11386, Serial#: 2083
    public void rip_shlq___1(int rel32) {
        assemble0582((byte) 0xD1, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>rel32</i>
     * Example disassembly syntax: {@code shlq      [L1: +305419896], 0x1}
     */
    // Template#: 11387, Serial#: 2091
    public void rip_shlq___1_r2091(int rel32) {
        assemble0582((byte) 0xD1, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>rel32</i>
     * Example disassembly syntax: {@code shlw      [L1: +305419896], 0x1}
     */
    // Template#: 11388, Serial#: 2155
    public void rip_shlw___1(int rel32) {
        assemble0342((byte) 0xD1, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>rel32</i>
     * Example disassembly syntax: {@code shlw      [L1: +305419896], 0x1}
     */
    // Template#: 11389, Serial#: 2163
    public void rip_shlw___1_r2163(int rel32) {
        assemble0342((byte) 0xD1, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>rel32</i>
     * Example disassembly syntax: {@code shlb      [L1: +305419896], cl}
     */
    // Template#: 11390, Serial#: 2227
    public void rip_shlb___CL(int rel32) {
        assemble0341((byte) 0xD2, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>rel32</i>
     * Example disassembly syntax: {@code shlb      [L1: +305419896], cl}
     */
    // Template#: 11391, Serial#: 2235
    public void rip_shlb___CL_r2235(int rel32) {
        assemble0341((byte) 0xD2, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>rel32</i>
     * Example disassembly syntax: {@code shlb      [L1: +305419896], cl}
     */
    // Template#: 11392, Serial#: 2299
    public void rip_shlb___CL_r2299(int rel32) {
        assemble0582((byte) 0xD2, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>rel32</i>
     * Example disassembly syntax: {@code shlb      [L1: +305419896], cl}
     */
    // Template#: 11393, Serial#: 2307
    public void rip_shlb___CL_r2307(int rel32) {
        assemble0582((byte) 0xD2, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>rel32</i>
     * Example disassembly syntax: {@code shlb      [L1: +305419896], cl}
     */
    // Template#: 11394, Serial#: 2371
    public void rip_shlb___CL_r2371(int rel32) {
        assemble0342((byte) 0xD2, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>rel32</i>
     * Example disassembly syntax: {@code shlb      [L1: +305419896], cl}
     */
    // Template#: 11395, Serial#: 2379
    public void rip_shlb___CL_r2379(int rel32) {
        assemble0342((byte) 0xD2, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>rel32</i>
     * Example disassembly syntax: {@code shll      [L1: +305419896], cl}
     */
    // Template#: 11396, Serial#: 2443
    public void rip_shll___CL(int rel32) {
        assemble0341((byte) 0xD3, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>rel32</i>
     * Example disassembly syntax: {@code shll      [L1: +305419896], cl}
     */
    // Template#: 11397, Serial#: 2451
    public void rip_shll___CL_r2451(int rel32) {
        assemble0341((byte) 0xD3, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>rel32</i>
     * Example disassembly syntax: {@code shlq      [L1: +305419896], cl}
     */
    // Template#: 11398, Serial#: 2515
    public void rip_shlq___CL(int rel32) {
        assemble0582((byte) 0xD3, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>rel32</i>
     * Example disassembly syntax: {@code shlq      [L1: +305419896], cl}
     */
    // Template#: 11399, Serial#: 2523
    public void rip_shlq___CL_r2523(int rel32) {
        assemble0582((byte) 0xD3, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>rel32</i>
     * Example disassembly syntax: {@code shlw      [L1: +305419896], cl}
     */
    // Template#: 11400, Serial#: 2587
    public void rip_shlw___CL(int rel32) {
        assemble0342((byte) 0xD3, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>rel32</i>
     * Example disassembly syntax: {@code shlw      [L1: +305419896], cl}
     */
    // Template#: 11401, Serial#: 2595
    public void rip_shlw___CL_r2595(int rel32) {
        assemble0342((byte) 0xD3, (byte) 0x06, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      [L1: +305419896], 0x12}
     */
    // Template#: 11402, Serial#: 1305
    public void rip_shlb(int rel32, byte imm8) {
        assemble0123((byte) 0xC0, (byte) 0x04, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      [L1: +305419896], 0x12}
     */
    // Template#: 11403, Serial#: 1313
    public void rip_shlb_r1313(int rel32, byte imm8) {
        assemble0123((byte) 0xC0, (byte) 0x06, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      [L1: +305419896], 0x12}
     */
    // Template#: 11404, Serial#: 1377
    public void rip_shlb_r1377(int rel32, byte imm8) {
        assemble0124((byte) 0xC0, (byte) 0x04, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      [L1: +305419896], 0x12}
     */
    // Template#: 11405, Serial#: 1385
    public void rip_shlb_r1385(int rel32, byte imm8) {
        assemble0124((byte) 0xC0, (byte) 0x06, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      [L1: +305419896], 0x12}
     */
    // Template#: 11406, Serial#: 1449
    public void rip_shlb_r1449(int rel32, byte imm8) {
        assemble0125((byte) 0xC0, (byte) 0x04, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      [L1: +305419896], 0x12}
     */
    // Template#: 11407, Serial#: 1457
    public void rip_shlb_r1457(int rel32, byte imm8) {
        assemble0125((byte) 0xC0, (byte) 0x06, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shll      [L1: +305419896], 0x12}
     */
    // Template#: 11408, Serial#: 1521
    public void rip_shll(int rel32, byte imm8) {
        assemble0123((byte) 0xC1, (byte) 0x04, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shll      [L1: +305419896], 0x12}
     */
    // Template#: 11409, Serial#: 1529
    public void rip_shll_r1529(int rel32, byte imm8) {
        assemble0123((byte) 0xC1, (byte) 0x06, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlq      [L1: +305419896], 0x12}
     */
    // Template#: 11410, Serial#: 1593
    public void rip_shlq(int rel32, byte imm8) {
        assemble0124((byte) 0xC1, (byte) 0x04, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlq      [L1: +305419896], 0x12}
     */
    // Template#: 11411, Serial#: 1601
    public void rip_shlq_r1601(int rel32, byte imm8) {
        assemble0124((byte) 0xC1, (byte) 0x06, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlw      [L1: +305419896], 0x12}
     */
    // Template#: 11412, Serial#: 1665
    public void rip_shlw(int rel32, byte imm8) {
        assemble0125((byte) 0xC1, (byte) 0x04, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlw      [L1: +305419896], 0x12}
     */
    // Template#: 11413, Serial#: 1673
    public void rip_shlw_r1673(int rel32, byte imm8) {
        assemble0125((byte) 0xC1, (byte) 0x06, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 11414, Serial#: 1833
    public void shlb___1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD0, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 11415, Serial#: 1837
    public void shlb___1_r1837(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD0, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 11416, Serial#: 1905
    public void shlb___1_r1905(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD0, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 11417, Serial#: 1909
    public void shlb___1_r1909(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD0, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 11418, Serial#: 1977
    public void shlb___1_r1977(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD0, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 11419, Serial#: 1981
    public void shlb___1_r1981(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD0, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shll      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 11420, Serial#: 2049
    public void shll___1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD1, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shll      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 11421, Serial#: 2053
    public void shll___1_r2053(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD1, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlq      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 11422, Serial#: 2121
    public void shlq___1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD1, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlq      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 11423, Serial#: 2125
    public void shlq___1_r2125(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD1, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlw      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 11424, Serial#: 2193
    public void shlw___1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD1, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlw      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 11425, Serial#: 2197
    public void shlw___1_r2197(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD1, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 11426, Serial#: 2265
    public void shlb___CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD2, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 11427, Serial#: 2269
    public void shlb___CL_r2269(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD2, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 11428, Serial#: 2337
    public void shlb___CL_r2337(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD2, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 11429, Serial#: 2341
    public void shlb___CL_r2341(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD2, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 11430, Serial#: 2409
    public void shlb___CL_r2409(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD2, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 11431, Serial#: 2413
    public void shlb___CL_r2413(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD2, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shll      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 11432, Serial#: 2481
    public void shll___CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD3, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shll      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 11433, Serial#: 2485
    public void shll___CL_r2485(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD3, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlq      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 11434, Serial#: 2553
    public void shlq___CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD3, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlq      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 11435, Serial#: 2557
    public void shlq___CL_r2557(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD3, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlw      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 11436, Serial#: 2625
    public void shlw___CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD3, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlw      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 11437, Serial#: 2629
    public void shlw___CL_r2629(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD3, (byte) 0x06, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 11438, Serial#: 1343
    public void shlb(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0xC0, (byte) 0x04, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 11439, Serial#: 1347
    public void shlb_r1347(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0xC0, (byte) 0x06, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 11440, Serial#: 1415
    public void shlb_r1415(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0xC0, (byte) 0x04, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 11441, Serial#: 1419
    public void shlb_r1419(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0xC0, (byte) 0x06, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 11442, Serial#: 1487
    public void shlb_r1487(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0xC0, (byte) 0x04, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 11443, Serial#: 1491
    public void shlb_r1491(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0xC0, (byte) 0x06, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shll      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 11444, Serial#: 1559
    public void shll(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0xC1, (byte) 0x04, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shll      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 11445, Serial#: 1563
    public void shll_r1563(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0xC1, (byte) 0x06, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlq      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 11446, Serial#: 1631
    public void shlq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0xC1, (byte) 0x04, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlq      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 11447, Serial#: 1635
    public void shlq_r1635(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0xC1, (byte) 0x06, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlw      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 11448, Serial#: 1703
    public void shlw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0xC1, (byte) 0x04, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlw      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 11449, Serial#: 1707
    public void shlw_r1707(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0xC1, (byte) 0x06, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 11450, Serial#: 1794
    public void m_shlb___1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD0, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 11451, Serial#: 1802
    public void m_shlb___1_r1802(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD0, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 11452, Serial#: 1866
    public void m_shlb___1_r1866(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD0, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 11453, Serial#: 1874
    public void m_shlb___1_r1874(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD0, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 11454, Serial#: 1938
    public void m_shlb___1_r1938(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD0, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 11455, Serial#: 1946
    public void m_shlb___1_r1946(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD0, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shll      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 11456, Serial#: 2010
    public void m_shll___1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD1, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shll      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 11457, Serial#: 2018
    public void m_shll___1_r2018(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD1, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlq      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 11458, Serial#: 2082
    public void m_shlq___1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD1, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlq      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 11459, Serial#: 2090
    public void m_shlq___1_r2090(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD1, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlw      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 11460, Serial#: 2154
    public void m_shlw___1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD1, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlw      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 11461, Serial#: 2162
    public void m_shlw___1_r2162(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD1, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      0x12345678[rsi * 4], cl}
     */
    // Template#: 11462, Serial#: 2226
    public void m_shlb___CL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD2, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      0x12345678[rsi * 4], cl}
     */
    // Template#: 11463, Serial#: 2234
    public void m_shlb___CL_r2234(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD2, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      0x12345678[rsi * 4], cl}
     */
    // Template#: 11464, Serial#: 2298
    public void m_shlb___CL_r2298(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD2, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      0x12345678[rsi * 4], cl}
     */
    // Template#: 11465, Serial#: 2306
    public void m_shlb___CL_r2306(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD2, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      0x12345678[rsi * 4], cl}
     */
    // Template#: 11466, Serial#: 2370
    public void m_shlb___CL_r2370(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD2, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlb      0x12345678[rsi * 4], cl}
     */
    // Template#: 11467, Serial#: 2378
    public void m_shlb___CL_r2378(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD2, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shll      0x12345678[rsi * 4], cl}
     */
    // Template#: 11468, Serial#: 2442
    public void m_shll___CL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD3, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shll      0x12345678[rsi * 4], cl}
     */
    // Template#: 11469, Serial#: 2450
    public void m_shll___CL_r2450(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD3, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlq      0x12345678[rsi * 4], cl}
     */
    // Template#: 11470, Serial#: 2514
    public void m_shlq___CL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD3, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlq      0x12345678[rsi * 4], cl}
     */
    // Template#: 11471, Serial#: 2522
    public void m_shlq___CL_r2522(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD3, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlw      0x12345678[rsi * 4], cl}
     */
    // Template#: 11472, Serial#: 2586
    public void m_shlw___CL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD3, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shlw      0x12345678[rsi * 4], cl}
     */
    // Template#: 11473, Serial#: 2594
    public void m_shlw___CL_r2594(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD3, (byte) 0x06, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 11474, Serial#: 1304
    public void m_shlb(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0xC0, (byte) 0x04, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 11475, Serial#: 1312
    public void m_shlb_r1312(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0xC0, (byte) 0x06, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 11476, Serial#: 1376
    public void m_shlb_r1376(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0xC0, (byte) 0x04, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 11477, Serial#: 1384
    public void m_shlb_r1384(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0xC0, (byte) 0x06, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 11478, Serial#: 1448
    public void m_shlb_r1448(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0xC0, (byte) 0x04, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 11479, Serial#: 1456
    public void m_shlb_r1456(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0xC0, (byte) 0x06, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shll      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 11480, Serial#: 1520
    public void m_shll(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0xC1, (byte) 0x04, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shll      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 11481, Serial#: 1528
    public void m_shll_r1528(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0xC1, (byte) 0x06, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlq      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 11482, Serial#: 1592
    public void m_shlq(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0xC1, (byte) 0x04, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlq      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 11483, Serial#: 1600
    public void m_shlq_r1600(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0xC1, (byte) 0x06, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlw      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 11484, Serial#: 1664
    public void m_shlw(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0xC1, (byte) 0x04, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlw      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 11485, Serial#: 1672
    public void m_shlw_r1672(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0xC1, (byte) 0x06, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx + 305419896], 0x1}
     */
    // Template#: 11486, Serial#: 1832
    public void shlb___1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD0, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx + 305419896], 0x1}
     */
    // Template#: 11487, Serial#: 1836
    public void shlb___1_r1836(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD0, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx + 305419896], 0x1}
     */
    // Template#: 11488, Serial#: 1904
    public void shlb___1_r1904(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD0, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx + 305419896], 0x1}
     */
    // Template#: 11489, Serial#: 1908
    public void shlb___1_r1908(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD0, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx + 305419896], 0x1}
     */
    // Template#: 11490, Serial#: 1976
    public void shlb___1_r1976(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD0, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx + 305419896], 0x1}
     */
    // Template#: 11491, Serial#: 1980
    public void shlb___1_r1980(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD0, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shll      [rbx + 305419896], 0x1}
     */
    // Template#: 11492, Serial#: 2048
    public void shll___1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD1, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shll      [rbx + 305419896], 0x1}
     */
    // Template#: 11493, Serial#: 2052
    public void shll___1_r2052(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD1, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlq      [rbx + 305419896], 0x1}
     */
    // Template#: 11494, Serial#: 2120
    public void shlq___1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD1, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlq      [rbx + 305419896], 0x1}
     */
    // Template#: 11495, Serial#: 2124
    public void shlq___1_r2124(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD1, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlw      [rbx + 305419896], 0x1}
     */
    // Template#: 11496, Serial#: 2192
    public void shlw___1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD1, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlw      [rbx + 305419896], 0x1}
     */
    // Template#: 11497, Serial#: 2196
    public void shlw___1_r2196(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD1, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx + 305419896], cl}
     */
    // Template#: 11498, Serial#: 2264
    public void shlb___CL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD2, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx + 305419896], cl}
     */
    // Template#: 11499, Serial#: 2268
    public void shlb___CL_r2268(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD2, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx + 305419896], cl}
     */
    // Template#: 11500, Serial#: 2336
    public void shlb___CL_r2336(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD2, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx + 305419896], cl}
     */
    // Template#: 11501, Serial#: 2340
    public void shlb___CL_r2340(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD2, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx + 305419896], cl}
     */
    // Template#: 11502, Serial#: 2408
    public void shlb___CL_r2408(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD2, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlb      [rbx + 305419896], cl}
     */
    // Template#: 11503, Serial#: 2412
    public void shlb___CL_r2412(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD2, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shll      [rbx + 305419896], cl}
     */
    // Template#: 11504, Serial#: 2480
    public void shll___CL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD3, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shll      [rbx + 305419896], cl}
     */
    // Template#: 11505, Serial#: 2484
    public void shll___CL_r2484(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD3, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlq      [rbx + 305419896], cl}
     */
    // Template#: 11506, Serial#: 2552
    public void shlq___CL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD3, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlq      [rbx + 305419896], cl}
     */
    // Template#: 11507, Serial#: 2556
    public void shlq___CL_r2556(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD3, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlw      [rbx + 305419896], cl}
     */
    // Template#: 11508, Serial#: 2624
    public void shlw___CL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD3, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shlw      [rbx + 305419896], cl}
     */
    // Template#: 11509, Serial#: 2628
    public void shlw___CL_r2628(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD3, (byte) 0x06, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      [rbx + 305419896], 0x12}
     */
    // Template#: 11510, Serial#: 1342
    public void shlb(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0xC0, (byte) 0x04, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      [rbx + 305419896], 0x12}
     */
    // Template#: 11511, Serial#: 1346
    public void shlb_r1346(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0xC0, (byte) 0x06, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      [rbx + 305419896], 0x12}
     */
    // Template#: 11512, Serial#: 1414
    public void shlb_r1414(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0xC0, (byte) 0x04, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      [rbx + 305419896], 0x12}
     */
    // Template#: 11513, Serial#: 1418
    public void shlb_r1418(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0xC0, (byte) 0x06, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      [rbx + 305419896], 0x12}
     */
    // Template#: 11514, Serial#: 1486
    public void shlb_r1486(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0xC0, (byte) 0x04, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlb      [rbx + 305419896], 0x12}
     */
    // Template#: 11515, Serial#: 1490
    public void shlb_r1490(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0xC0, (byte) 0x06, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shll      [rbx + 305419896], 0x12}
     */
    // Template#: 11516, Serial#: 1558
    public void shll(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0xC1, (byte) 0x04, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shll  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shll      [rbx + 305419896], 0x12}
     */
    // Template#: 11517, Serial#: 1562
    public void shll_r1562(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0xC1, (byte) 0x06, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlq      [rbx + 305419896], 0x12}
     */
    // Template#: 11518, Serial#: 1630
    public void shlq(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0xC1, (byte) 0x04, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlq  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlq      [rbx + 305419896], 0x12}
     */
    // Template#: 11519, Serial#: 1634
    public void shlq_r1634(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0xC1, (byte) 0x06, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlw      [rbx + 305419896], 0x12}
     */
    // Template#: 11520, Serial#: 1702
    public void shlw(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0xC1, (byte) 0x04, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shlw  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shlw      [rbx + 305419896], 0x12}
     */
    // Template#: 11521, Serial#: 1706
    public void shlw_r1706(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0xC1, (byte) 0x06, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code shld      rbx[rsi * 4 + 18], ax, cl}
     */
    // Template#: 11522, Serial#: 7816
    public void shld_CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0279((byte) 0xA5, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shld      rbx[rsi * 4 + 18], ax, 0x12}
     */
    // Template#: 11523, Serial#: 7789
    public void shld(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source, byte imm8) {
        assemble1138((byte) 0xA4, disp8, base, index, scale, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code shld      rbx[rsi * 4 + 18], eax, cl}
     */
    // Template#: 11524, Serial#: 7798
    public void shld_CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0280((byte) 0xA5, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shld      rbx[rsi * 4 + 18], eax, 0x12}
     */
    // Template#: 11525, Serial#: 7771
    public void shld(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source, byte imm8) {
        assemble1139((byte) 0xA4, disp8, base, index, scale, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code shld      rbx[rsi * 4 + 18], rax, cl}
     */
    // Template#: 11526, Serial#: 7807
    public void shld_CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0281((byte) 0xA5, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shld      rbx[rsi * 4 + 18], rax, 0x12}
     */
    // Template#: 11527, Serial#: 7780
    public void shld(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source, byte imm8) {
        assemble1140((byte) 0xA4, disp8, base, index, scale, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code shld      [rbx + 18], ax, cl}
     */
    // Template#: 11528, Serial#: 7815
    public void shld_CL(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0285((byte) 0xA5, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>disp8</i>, <i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shld      [rbx + 18], ax, 0x12}
     */
    // Template#: 11529, Serial#: 7788
    public void shld(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source, byte imm8) {
        assemble1141((byte) 0xA4, disp8, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code shld      [rbx + 18], eax, cl}
     */
    // Template#: 11530, Serial#: 7797
    public void shld_CL(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0286((byte) 0xA5, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>disp8</i>, <i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shld      [rbx + 18], eax, 0x12}
     */
    // Template#: 11531, Serial#: 7770
    public void shld(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source, byte imm8) {
        assemble1142((byte) 0xA4, disp8, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code shld      [rbx + 18], rax, cl}
     */
    // Template#: 11532, Serial#: 7806
    public void shld_CL(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0287((byte) 0xA5, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>disp8</i>, <i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shld      [rbx + 18], rax, 0x12}
     */
    // Template#: 11533, Serial#: 7779
    public void shld(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source, byte imm8) {
        assemble1143((byte) 0xA4, disp8, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code shld      rbx[rsi * 4], ax, cl}
     */
    // Template#: 11534, Serial#: 7812
    public void shld_CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0291((byte) 0xA5, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shld      rbx[rsi * 4], ax, 0x12}
     */
    // Template#: 11535, Serial#: 7785
    public void shld(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source, byte imm8) {
        assemble1144((byte) 0xA4, base, index, scale, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code shld      rbx[rsi * 4], eax, cl}
     */
    // Template#: 11536, Serial#: 7794
    public void shld_CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0292((byte) 0xA5, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shld      rbx[rsi * 4], eax, 0x12}
     */
    // Template#: 11537, Serial#: 7767
    public void shld(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source, byte imm8) {
        assemble1145((byte) 0xA4, base, index, scale, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code shld      rbx[rsi * 4], rax, cl}
     */
    // Template#: 11538, Serial#: 7803
    public void shld_CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0293((byte) 0xA5, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shld      rbx[rsi * 4], rax, 0x12}
     */
    // Template#: 11539, Serial#: 7776
    public void shld(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source, byte imm8) {
        assemble1146((byte) 0xA4, base, index, scale, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code shld      ax, ax, cl}
     */
    // Template#: 11540, Serial#: 7819
    public void shld_CL(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0295((byte) 0xA5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shld      ax, ax, 0x12}
     */
    // Template#: 11541, Serial#: 7792
    public void shld(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source, byte imm8) {
        assemble1147((byte) 0xA4, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code shld      eax, eax, cl}
     */
    // Template#: 11542, Serial#: 7801
    public void shld_CL(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0297((byte) 0xA5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shld      eax, eax, 0x12}
     */
    // Template#: 11543, Serial#: 7774
    public void shld(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source, byte imm8) {
        assemble1148((byte) 0xA4, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code shld      rax, rax, cl}
     */
    // Template#: 11544, Serial#: 7810
    public void shld_CL(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0299((byte) 0xA5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shld      rax, rax, 0x12}
     */
    // Template#: 11545, Serial#: 7783
    public void shld(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source, byte imm8) {
        assemble1149((byte) 0xA4, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code shld      [rbx], ax, cl}
     */
    // Template#: 11546, Serial#: 7811
    public void shld_CL(AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0303((byte) 0xA5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shld      [rbx], ax, 0x12}
     */
    // Template#: 11547, Serial#: 7784
    public void shld(AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source, byte imm8) {
        assemble1150((byte) 0xA4, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code shld      [rbx], eax, cl}
     */
    // Template#: 11548, Serial#: 7793
    public void shld_CL(AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0304((byte) 0xA5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shld      [rbx], eax, 0x12}
     */
    // Template#: 11549, Serial#: 7766
    public void shld(AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source, byte imm8) {
        assemble1151((byte) 0xA4, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code shld      [rbx], rax, cl}
     */
    // Template#: 11550, Serial#: 7802
    public void shld_CL(AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0305((byte) 0xA5, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shld      [rbx], rax, 0x12}
     */
    // Template#: 11551, Serial#: 7775
    public void shld(AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source, byte imm8) {
        assemble1152((byte) 0xA4, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code shld      rbx[rsi * 4 + 305419896], ax, cl}
     */
    // Template#: 11552, Serial#: 7818
    public void shld_CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0312((byte) 0xA5, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shld      rbx[rsi * 4 + 305419896], ax, 0x12}
     */
    // Template#: 11553, Serial#: 7791
    public void shld(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source, byte imm8) {
        assemble1153((byte) 0xA4, disp32, base, index, scale, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code shld      rbx[rsi * 4 + 305419896], eax, cl}
     */
    // Template#: 11554, Serial#: 7800
    public void shld_CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0313((byte) 0xA5, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shld      rbx[rsi * 4 + 305419896], eax, 0x12}
     */
    // Template#: 11555, Serial#: 7773
    public void shld(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source, byte imm8) {
        assemble1154((byte) 0xA4, disp32, base, index, scale, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code shld      rbx[rsi * 4 + 305419896], rax, cl}
     */
    // Template#: 11556, Serial#: 7809
    public void shld_CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0314((byte) 0xA5, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shld      rbx[rsi * 4 + 305419896], rax, 0x12}
     */
    // Template#: 11557, Serial#: 7782
    public void shld(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source, byte imm8) {
        assemble1155((byte) 0xA4, disp32, base, index, scale, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code shld      [L1: +305419896], ax, cl}
     */
    // Template#: 11558, Serial#: 7814
    public void rip_shld_CL(int rel32, AMD64GeneralRegister16 source) {
        assemble0315((byte) 0xA5, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>rel32</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shld      [L1: +305419896], ax, 0x12}
     */
    // Template#: 11559, Serial#: 7787
    public void rip_shld(int rel32, AMD64GeneralRegister16 source, byte imm8) {
        assemble1156((byte) 0xA4, rel32, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code shld      [L1: +305419896], eax, cl}
     */
    // Template#: 11560, Serial#: 7796
    public void rip_shld_CL(int rel32, AMD64GeneralRegister32 source) {
        assemble0316((byte) 0xA5, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>rel32</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shld      [L1: +305419896], eax, 0x12}
     */
    // Template#: 11561, Serial#: 7769
    public void rip_shld(int rel32, AMD64GeneralRegister32 source, byte imm8) {
        assemble1157((byte) 0xA4, rel32, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code shld      [L1: +305419896], rax, cl}
     */
    // Template#: 11562, Serial#: 7805
    public void rip_shld_CL(int rel32, AMD64GeneralRegister64 source) {
        assemble0317((byte) 0xA5, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>rel32</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shld      [L1: +305419896], rax, 0x12}
     */
    // Template#: 11563, Serial#: 7778
    public void rip_shld(int rel32, AMD64GeneralRegister64 source, byte imm8) {
        assemble1158((byte) 0xA4, rel32, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code shld      0x12345678[rsi * 4], ax, cl}
     */
    // Template#: 11564, Serial#: 7813
    public void m_shld_CL(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0321((byte) 0xA5, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shld      0x12345678[rsi * 4], ax, 0x12}
     */
    // Template#: 11565, Serial#: 7786
    public void m_shld(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source, byte imm8) {
        assemble1159((byte) 0xA4, m32, index, scale, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code shld      0x12345678[rsi * 4], eax, cl}
     */
    // Template#: 11566, Serial#: 7795
    public void m_shld_CL(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0322((byte) 0xA5, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shld      0x12345678[rsi * 4], eax, 0x12}
     */
    // Template#: 11567, Serial#: 7768
    public void m_shld(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source, byte imm8) {
        assemble1160((byte) 0xA4, m32, index, scale, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code shld      0x12345678[rsi * 4], rax, cl}
     */
    // Template#: 11568, Serial#: 7804
    public void m_shld_CL(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0323((byte) 0xA5, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shld      0x12345678[rsi * 4], rax, 0x12}
     */
    // Template#: 11569, Serial#: 7777
    public void m_shld(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source, byte imm8) {
        assemble1161((byte) 0xA4, m32, index, scale, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code shld      [rbx + 305419896], ax, cl}
     */
    // Template#: 11570, Serial#: 7817
    public void shld_CL(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0327((byte) 0xA5, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>disp32</i>, <i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shld      [rbx + 305419896], ax, 0x12}
     */
    // Template#: 11571, Serial#: 7790
    public void shld(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source, byte imm8) {
        assemble1162((byte) 0xA4, disp32, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code shld      [rbx + 305419896], eax, cl}
     */
    // Template#: 11572, Serial#: 7799
    public void shld_CL(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0328((byte) 0xA5, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>disp32</i>, <i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shld      [rbx + 305419896], eax, 0x12}
     */
    // Template#: 11573, Serial#: 7772
    public void shld(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source, byte imm8) {
        assemble1163((byte) 0xA4, disp32, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code shld      [rbx + 305419896], rax, cl}
     */
    // Template#: 11574, Serial#: 7808
    public void shld_CL(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0329((byte) 0xA5, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shld  }<i>disp32</i>, <i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shld      [rbx + 305419896], rax, 0x12}
     */
    // Template#: 11575, Serial#: 7781
    public void shld(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source, byte imm8) {
        assemble1164((byte) 0xA4, disp32, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrb      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 11576, Serial#: 1819
    public void shrb___1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD0, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrb      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 11577, Serial#: 1891
    public void shrb___1_r1891(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD0, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrb      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 11578, Serial#: 1963
    public void shrb___1_r1963(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD0, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrl      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 11579, Serial#: 2035
    public void shrl___1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD1, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrq      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 11580, Serial#: 2107
    public void shrq___1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD1, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrw      rbx[rsi * 4 + 18], 0x1}
     */
    // Template#: 11581, Serial#: 2179
    public void shrw___1(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD1, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrb      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 11582, Serial#: 2251
    public void shrb___CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD2, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrb      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 11583, Serial#: 2323
    public void shrb___CL_r2323(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD2, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrb      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 11584, Serial#: 2395
    public void shrb___CL_r2395(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD2, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrl      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 11585, Serial#: 2467
    public void shrl___CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0330((byte) 0xD3, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrq      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 11586, Serial#: 2539
    public void shrq___CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0573((byte) 0xD3, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrw      rbx[rsi * 4 + 18], cl}
     */
    // Template#: 11587, Serial#: 2611
    public void shrw___CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0331((byte) 0xD3, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 11588, Serial#: 1329
    public void shrb(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0xC0, (byte) 0x05, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 11589, Serial#: 1401
    public void shrb_r1401(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0xC0, (byte) 0x05, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 11590, Serial#: 1473
    public void shrb_r1473(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0xC0, (byte) 0x05, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrl      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 11591, Serial#: 1545
    public void shrl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0xC1, (byte) 0x05, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrq      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 11592, Serial#: 1617
    public void shrq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0xC1, (byte) 0x05, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrw      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 11593, Serial#: 1689
    public void shrw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0xC1, (byte) 0x05, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shrb      [rbx + 18], 0x1}
     */
    // Template#: 11594, Serial#: 1818
    public void shrb___1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD0, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shrb      [rbx + 18], 0x1}
     */
    // Template#: 11595, Serial#: 1890
    public void shrb___1_r1890(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD0, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shrb      [rbx + 18], 0x1}
     */
    // Template#: 11596, Serial#: 1962
    public void shrb___1_r1962(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD0, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shrl      [rbx + 18], 0x1}
     */
    // Template#: 11597, Serial#: 2034
    public void shrl___1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD1, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shrq      [rbx + 18], 0x1}
     */
    // Template#: 11598, Serial#: 2106
    public void shrq___1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD1, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shrw      [rbx + 18], 0x1}
     */
    // Template#: 11599, Serial#: 2178
    public void shrw___1(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD1, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shrb      [rbx + 18], cl}
     */
    // Template#: 11600, Serial#: 2250
    public void shrb___CL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD2, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shrb      [rbx + 18], cl}
     */
    // Template#: 11601, Serial#: 2322
    public void shrb___CL_r2322(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD2, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shrb      [rbx + 18], cl}
     */
    // Template#: 11602, Serial#: 2394
    public void shrb___CL_r2394(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD2, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrl  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shrl      [rbx + 18], cl}
     */
    // Template#: 11603, Serial#: 2466
    public void shrl___CL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0332((byte) 0xD3, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrq  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shrq      [rbx + 18], cl}
     */
    // Template#: 11604, Serial#: 2538
    public void shrq___CL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0574((byte) 0xD3, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code shrw      [rbx + 18], cl}
     */
    // Template#: 11605, Serial#: 2610
    public void shrw___CL(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0333((byte) 0xD3, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrb      [rbx + 18], 0x12}
     */
    // Template#: 11606, Serial#: 1328
    public void shrb(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0xC0, (byte) 0x05, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrb      [rbx + 18], 0x12}
     */
    // Template#: 11607, Serial#: 1400
    public void shrb_r1400(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0xC0, (byte) 0x05, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrb      [rbx + 18], 0x12}
     */
    // Template#: 11608, Serial#: 1472
    public void shrb_r1472(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0xC0, (byte) 0x05, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrl  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrl      [rbx + 18], 0x12}
     */
    // Template#: 11609, Serial#: 1544
    public void shrl(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0xC1, (byte) 0x05, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrq  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrq      [rbx + 18], 0x12}
     */
    // Template#: 11610, Serial#: 1616
    public void shrq(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0xC1, (byte) 0x05, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrw  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrw      [rbx + 18], 0x12}
     */
    // Template#: 11611, Serial#: 1688
    public void shrw(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0xC1, (byte) 0x05, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrb      rbx[rsi * 4], 0x1}
     */
    // Template#: 11612, Serial#: 1797
    public void shrb___1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD0, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrb      rbx[rsi * 4], 0x1}
     */
    // Template#: 11613, Serial#: 1869
    public void shrb___1_r1869(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD0, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrb      rbx[rsi * 4], 0x1}
     */
    // Template#: 11614, Serial#: 1941
    public void shrb___1_r1941(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD0, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrl      rbx[rsi * 4], 0x1}
     */
    // Template#: 11615, Serial#: 2013
    public void shrl___1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD1, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrq      rbx[rsi * 4], 0x1}
     */
    // Template#: 11616, Serial#: 2085
    public void shrq___1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD1, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrw      rbx[rsi * 4], 0x1}
     */
    // Template#: 11617, Serial#: 2157
    public void shrw___1(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD1, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrb      rbx[rsi * 4], cl}
     */
    // Template#: 11618, Serial#: 2229
    public void shrb___CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD2, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrb      rbx[rsi * 4], cl}
     */
    // Template#: 11619, Serial#: 2301
    public void shrb___CL_r2301(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD2, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrb      rbx[rsi * 4], cl}
     */
    // Template#: 11620, Serial#: 2373
    public void shrb___CL_r2373(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD2, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrl  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrl      rbx[rsi * 4], cl}
     */
    // Template#: 11621, Serial#: 2445
    public void shrl___CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0334((byte) 0xD3, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrq  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrq      rbx[rsi * 4], cl}
     */
    // Template#: 11622, Serial#: 2517
    public void shrq___CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0575((byte) 0xD3, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrw      rbx[rsi * 4], cl}
     */
    // Template#: 11623, Serial#: 2589
    public void shrw___CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0335((byte) 0xD3, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrb      rbx[rsi * 4], 0x12}
     */
    // Template#: 11624, Serial#: 1307
    public void shrb(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0xC0, (byte) 0x05, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrb      rbx[rsi * 4], 0x12}
     */
    // Template#: 11625, Serial#: 1379
    public void shrb_r1379(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0xC0, (byte) 0x05, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrb      rbx[rsi * 4], 0x12}
     */
    // Template#: 11626, Serial#: 1451
    public void shrb_r1451(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0xC0, (byte) 0x05, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrl  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrl      rbx[rsi * 4], 0x12}
     */
    // Template#: 11627, Serial#: 1523
    public void shrl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0xC1, (byte) 0x05, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrq      rbx[rsi * 4], 0x12}
     */
    // Template#: 11628, Serial#: 1595
    public void shrq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0xC1, (byte) 0x05, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrw  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrw      rbx[rsi * 4], 0x12}
     */
    // Template#: 11629, Serial#: 1667
    public void shrw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0xC1, (byte) 0x05, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrw  }<i>destination</i>
     * Example disassembly syntax: {@code shrw      ax, 0x1}
     */
    // Template#: 11630, Serial#: 2205
    public void shrw___1(AMD64GeneralRegister16 destination) {
        assemble0336((byte) 0xD1, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrw  }<i>destination</i>
     * Example disassembly syntax: {@code shrw      ax, cl}
     */
    // Template#: 11631, Serial#: 2637
    public void shrw___CL(AMD64GeneralRegister16 destination) {
        assemble0336((byte) 0xD3, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrw      ax, 0x12}
     */
    // Template#: 11632, Serial#: 1715
    public void shrw(AMD64GeneralRegister16 destination, byte imm8) {
        assemble0040((byte) 0xC1, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrl  }<i>destination</i>
     * Example disassembly syntax: {@code shrl      eax, 0x1}
     */
    // Template#: 11633, Serial#: 2061
    public void shrl___1(AMD64GeneralRegister32 destination) {
        assemble0576((byte) 0xD1, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrl  }<i>destination</i>
     * Example disassembly syntax: {@code shrl      eax, cl}
     */
    // Template#: 11634, Serial#: 2493
    public void shrl___CL(AMD64GeneralRegister32 destination) {
        assemble0576((byte) 0xD3, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrl  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrl      eax, 0x12}
     */
    // Template#: 11635, Serial#: 1571
    public void shrl(AMD64GeneralRegister32 destination, byte imm8) {
        assemble0052((byte) 0xC1, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrq  }<i>destination</i>
     * Example disassembly syntax: {@code shrq      rax, 0x1}
     */
    // Template#: 11636, Serial#: 2133
    public void shrq___1(AMD64GeneralRegister64 destination) {
        assemble0577((byte) 0xD1, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrq  }<i>destination</i>
     * Example disassembly syntax: {@code shrq      rax, cl}
     */
    // Template#: 11637, Serial#: 2565
    public void shrq___CL(AMD64GeneralRegister64 destination) {
        assemble0577((byte) 0xD3, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrq      rax, 0x12}
     */
    // Template#: 11638, Serial#: 1643
    public void shrq(AMD64GeneralRegister64 destination, byte imm8) {
        assemble0064((byte) 0xC1, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>destination</i>
     * Example disassembly syntax: {@code shrb      al, 0x1}
     */
    // Template#: 11639, Serial#: 1845
    public void shrb___1(AMD64GeneralRegister8 destination) {
        assemble0578((byte) 0xD0, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>destination</i>
     * Example disassembly syntax: {@code shrb      al, 0x1}
     */
    // Template#: 11640, Serial#: 1917
    public void shrb___1_r1917(AMD64GeneralRegister8 destination) {
        assemble0579((byte) 0xD0, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>destination</i>
     * Example disassembly syntax: {@code shrb      al, 0x1}
     */
    // Template#: 11641, Serial#: 1989
    public void shrb___1_r1989(AMD64GeneralRegister8 destination) {
        assemble0580((byte) 0xD0, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>destination</i>
     * Example disassembly syntax: {@code shrb      al, cl}
     */
    // Template#: 11642, Serial#: 2277
    public void shrb___CL(AMD64GeneralRegister8 destination) {
        assemble0578((byte) 0xD2, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>destination</i>
     * Example disassembly syntax: {@code shrb      al, cl}
     */
    // Template#: 11643, Serial#: 2349
    public void shrb___CL_r2349(AMD64GeneralRegister8 destination) {
        assemble0579((byte) 0xD2, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>destination</i>
     * Example disassembly syntax: {@code shrb      al, cl}
     */
    // Template#: 11644, Serial#: 2421
    public void shrb___CL_r2421(AMD64GeneralRegister8 destination) {
        assemble0580((byte) 0xD2, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrb      al, 0x12}
     */
    // Template#: 11645, Serial#: 1355
    public void shrb(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0076((byte) 0xC0, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrb      al, 0x12}
     */
    // Template#: 11646, Serial#: 1427
    public void shrb_r1427(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0077((byte) 0xC0, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrb      al, 0x12}
     */
    // Template#: 11647, Serial#: 1499
    public void shrb_r1499(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0078((byte) 0xC0, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>destination</i>
     * Example disassembly syntax: {@code shrb      [rbx], 0x1}
     */
    // Template#: 11648, Serial#: 1796
    public void shrb___1(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD0, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>destination</i>
     * Example disassembly syntax: {@code shrb      [rbx], 0x1}
     */
    // Template#: 11649, Serial#: 1868
    public void shrb___1_r1868(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD0, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>destination</i>
     * Example disassembly syntax: {@code shrb      [rbx], 0x1}
     */
    // Template#: 11650, Serial#: 1940
    public void shrb___1_r1940(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD0, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrl  }<i>destination</i>
     * Example disassembly syntax: {@code shrl      [rbx], 0x1}
     */
    // Template#: 11651, Serial#: 2012
    public void shrl___1(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD1, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrq  }<i>destination</i>
     * Example disassembly syntax: {@code shrq      [rbx], 0x1}
     */
    // Template#: 11652, Serial#: 2084
    public void shrq___1(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD1, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrw  }<i>destination</i>
     * Example disassembly syntax: {@code shrw      [rbx], 0x1}
     */
    // Template#: 11653, Serial#: 2156
    public void shrw___1(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD1, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>destination</i>
     * Example disassembly syntax: {@code shrb      [rbx], cl}
     */
    // Template#: 11654, Serial#: 2228
    public void shrb___CL(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD2, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>destination</i>
     * Example disassembly syntax: {@code shrb      [rbx], cl}
     */
    // Template#: 11655, Serial#: 2300
    public void shrb___CL_r2300(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD2, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>destination</i>
     * Example disassembly syntax: {@code shrb      [rbx], cl}
     */
    // Template#: 11656, Serial#: 2372
    public void shrb___CL_r2372(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD2, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrl  }<i>destination</i>
     * Example disassembly syntax: {@code shrl      [rbx], cl}
     */
    // Template#: 11657, Serial#: 2444
    public void shrl___CL(AMD64IndirectRegister64 destination) {
        assemble0338((byte) 0xD3, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrq  }<i>destination</i>
     * Example disassembly syntax: {@code shrq      [rbx], cl}
     */
    // Template#: 11658, Serial#: 2516
    public void shrq___CL(AMD64IndirectRegister64 destination) {
        assemble0581((byte) 0xD3, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrw  }<i>destination</i>
     * Example disassembly syntax: {@code shrw      [rbx], cl}
     */
    // Template#: 11659, Serial#: 2588
    public void shrw___CL(AMD64IndirectRegister64 destination) {
        assemble0339((byte) 0xD3, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrb      [rbx], 0x12}
     */
    // Template#: 11660, Serial#: 1306
    public void shrb(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0xC0, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrb      [rbx], 0x12}
     */
    // Template#: 11661, Serial#: 1378
    public void shrb_r1378(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0xC0, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrb      [rbx], 0x12}
     */
    // Template#: 11662, Serial#: 1450
    public void shrb_r1450(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0xC0, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrl  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrl      [rbx], 0x12}
     */
    // Template#: 11663, Serial#: 1522
    public void shrl(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0xC1, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrq      [rbx], 0x12}
     */
    // Template#: 11664, Serial#: 1594
    public void shrq(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0xC1, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrw      [rbx], 0x12}
     */
    // Template#: 11665, Serial#: 1666
    public void shrw(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0xC1, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>rel32</i>
     * Example disassembly syntax: {@code shrb      [L1: +305419896], 0x1}
     */
    // Template#: 11666, Serial#: 1799
    public void rip_shrb___1(int rel32) {
        assemble0341((byte) 0xD0, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>rel32</i>
     * Example disassembly syntax: {@code shrb      [L1: +305419896], 0x1}
     */
    // Template#: 11667, Serial#: 1871
    public void rip_shrb___1_r1871(int rel32) {
        assemble0582((byte) 0xD0, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>rel32</i>
     * Example disassembly syntax: {@code shrb      [L1: +305419896], 0x1}
     */
    // Template#: 11668, Serial#: 1943
    public void rip_shrb___1_r1943(int rel32) {
        assemble0342((byte) 0xD0, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrl  }<i>rel32</i>
     * Example disassembly syntax: {@code shrl      [L1: +305419896], 0x1}
     */
    // Template#: 11669, Serial#: 2015
    public void rip_shrl___1(int rel32) {
        assemble0341((byte) 0xD1, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrq  }<i>rel32</i>
     * Example disassembly syntax: {@code shrq      [L1: +305419896], 0x1}
     */
    // Template#: 11670, Serial#: 2087
    public void rip_shrq___1(int rel32) {
        assemble0582((byte) 0xD1, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrw  }<i>rel32</i>
     * Example disassembly syntax: {@code shrw      [L1: +305419896], 0x1}
     */
    // Template#: 11671, Serial#: 2159
    public void rip_shrw___1(int rel32) {
        assemble0342((byte) 0xD1, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>rel32</i>
     * Example disassembly syntax: {@code shrb      [L1: +305419896], cl}
     */
    // Template#: 11672, Serial#: 2231
    public void rip_shrb___CL(int rel32) {
        assemble0341((byte) 0xD2, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>rel32</i>
     * Example disassembly syntax: {@code shrb      [L1: +305419896], cl}
     */
    // Template#: 11673, Serial#: 2303
    public void rip_shrb___CL_r2303(int rel32) {
        assemble0582((byte) 0xD2, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>rel32</i>
     * Example disassembly syntax: {@code shrb      [L1: +305419896], cl}
     */
    // Template#: 11674, Serial#: 2375
    public void rip_shrb___CL_r2375(int rel32) {
        assemble0342((byte) 0xD2, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrl  }<i>rel32</i>
     * Example disassembly syntax: {@code shrl      [L1: +305419896], cl}
     */
    // Template#: 11675, Serial#: 2447
    public void rip_shrl___CL(int rel32) {
        assemble0341((byte) 0xD3, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrq  }<i>rel32</i>
     * Example disassembly syntax: {@code shrq      [L1: +305419896], cl}
     */
    // Template#: 11676, Serial#: 2519
    public void rip_shrq___CL(int rel32) {
        assemble0582((byte) 0xD3, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrw  }<i>rel32</i>
     * Example disassembly syntax: {@code shrw      [L1: +305419896], cl}
     */
    // Template#: 11677, Serial#: 2591
    public void rip_shrw___CL(int rel32) {
        assemble0342((byte) 0xD3, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrb      [L1: +305419896], 0x12}
     */
    // Template#: 11678, Serial#: 1309
    public void rip_shrb(int rel32, byte imm8) {
        assemble0123((byte) 0xC0, (byte) 0x05, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrb      [L1: +305419896], 0x12}
     */
    // Template#: 11679, Serial#: 1381
    public void rip_shrb_r1381(int rel32, byte imm8) {
        assemble0124((byte) 0xC0, (byte) 0x05, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrb      [L1: +305419896], 0x12}
     */
    // Template#: 11680, Serial#: 1453
    public void rip_shrb_r1453(int rel32, byte imm8) {
        assemble0125((byte) 0xC0, (byte) 0x05, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrl  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrl      [L1: +305419896], 0x12}
     */
    // Template#: 11681, Serial#: 1525
    public void rip_shrl(int rel32, byte imm8) {
        assemble0123((byte) 0xC1, (byte) 0x05, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrq  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrq      [L1: +305419896], 0x12}
     */
    // Template#: 11682, Serial#: 1597
    public void rip_shrq(int rel32, byte imm8) {
        assemble0124((byte) 0xC1, (byte) 0x05, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrw  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrw      [L1: +305419896], 0x12}
     */
    // Template#: 11683, Serial#: 1669
    public void rip_shrw(int rel32, byte imm8) {
        assemble0125((byte) 0xC1, (byte) 0x05, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrb      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 11684, Serial#: 1835
    public void shrb___1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD0, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrb      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 11685, Serial#: 1907
    public void shrb___1_r1907(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD0, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrb      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 11686, Serial#: 1979
    public void shrb___1_r1979(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD0, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrl      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 11687, Serial#: 2051
    public void shrl___1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD1, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrq      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 11688, Serial#: 2123
    public void shrq___1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD1, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrw      rbx[rsi * 4 + 305419896], 0x1}
     */
    // Template#: 11689, Serial#: 2195
    public void shrw___1(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD1, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrb      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 11690, Serial#: 2267
    public void shrb___CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD2, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrb      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 11691, Serial#: 2339
    public void shrb___CL_r2339(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD2, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrb      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 11692, Serial#: 2411
    public void shrb___CL_r2411(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD2, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrl      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 11693, Serial#: 2483
    public void shrl___CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0343((byte) 0xD3, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrq      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 11694, Serial#: 2555
    public void shrq___CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0583((byte) 0xD3, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrw      rbx[rsi * 4 + 305419896], cl}
     */
    // Template#: 11695, Serial#: 2627
    public void shrw___CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0344((byte) 0xD3, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 11696, Serial#: 1345
    public void shrb(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0xC0, (byte) 0x05, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 11697, Serial#: 1417
    public void shrb_r1417(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0xC0, (byte) 0x05, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 11698, Serial#: 1489
    public void shrb_r1489(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0xC0, (byte) 0x05, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrl      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 11699, Serial#: 1561
    public void shrl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0xC1, (byte) 0x05, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrq      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 11700, Serial#: 1633
    public void shrq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0xC1, (byte) 0x05, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrw      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 11701, Serial#: 1705
    public void shrw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0xC1, (byte) 0x05, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrb      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 11702, Serial#: 1798
    public void m_shrb___1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD0, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrb      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 11703, Serial#: 1870
    public void m_shrb___1_r1870(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD0, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrb      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 11704, Serial#: 1942
    public void m_shrb___1_r1942(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD0, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrl      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 11705, Serial#: 2014
    public void m_shrl___1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD1, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrq      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 11706, Serial#: 2086
    public void m_shrq___1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD1, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrw      0x12345678[rsi * 4], 0x1}
     */
    // Template#: 11707, Serial#: 2158
    public void m_shrw___1(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD1, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrb      0x12345678[rsi * 4], cl}
     */
    // Template#: 11708, Serial#: 2230
    public void m_shrb___CL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD2, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrb      0x12345678[rsi * 4], cl}
     */
    // Template#: 11709, Serial#: 2302
    public void m_shrb___CL_r2302(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD2, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrb      0x12345678[rsi * 4], cl}
     */
    // Template#: 11710, Serial#: 2374
    public void m_shrb___CL_r2374(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD2, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrl  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrl      0x12345678[rsi * 4], cl}
     */
    // Template#: 11711, Serial#: 2446
    public void m_shrl___CL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0345((byte) 0xD3, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrq  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrq      0x12345678[rsi * 4], cl}
     */
    // Template#: 11712, Serial#: 2518
    public void m_shrq___CL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0584((byte) 0xD3, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code shrw      0x12345678[rsi * 4], cl}
     */
    // Template#: 11713, Serial#: 2590
    public void m_shrw___CL(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0346((byte) 0xD3, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 11714, Serial#: 1308
    public void m_shrb(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0xC0, (byte) 0x05, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 11715, Serial#: 1380
    public void m_shrb_r1380(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0xC0, (byte) 0x05, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 11716, Serial#: 1452
    public void m_shrb_r1452(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0xC0, (byte) 0x05, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrl  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrl      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 11717, Serial#: 1524
    public void m_shrl(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0xC1, (byte) 0x05, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrq      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 11718, Serial#: 1596
    public void m_shrq(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0xC1, (byte) 0x05, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrw  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrw      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 11719, Serial#: 1668
    public void m_shrw(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0xC1, (byte) 0x05, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shrb      [rbx + 305419896], 0x1}
     */
    // Template#: 11720, Serial#: 1834
    public void shrb___1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD0, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shrb      [rbx + 305419896], 0x1}
     */
    // Template#: 11721, Serial#: 1906
    public void shrb___1_r1906(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD0, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shrb      [rbx + 305419896], 0x1}
     */
    // Template#: 11722, Serial#: 1978
    public void shrb___1_r1978(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD0, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shrl      [rbx + 305419896], 0x1}
     */
    // Template#: 11723, Serial#: 2050
    public void shrl___1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD1, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shrq      [rbx + 305419896], 0x1}
     */
    // Template#: 11724, Serial#: 2122
    public void shrq___1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD1, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shrw      [rbx + 305419896], 0x1}
     */
    // Template#: 11725, Serial#: 2194
    public void shrw___1(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD1, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shrb      [rbx + 305419896], cl}
     */
    // Template#: 11726, Serial#: 2266
    public void shrb___CL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD2, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shrb      [rbx + 305419896], cl}
     */
    // Template#: 11727, Serial#: 2338
    public void shrb___CL_r2338(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD2, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shrb      [rbx + 305419896], cl}
     */
    // Template#: 11728, Serial#: 2410
    public void shrb___CL_r2410(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD2, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrl  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shrl      [rbx + 305419896], cl}
     */
    // Template#: 11729, Serial#: 2482
    public void shrl___CL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0347((byte) 0xD3, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrq  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shrq      [rbx + 305419896], cl}
     */
    // Template#: 11730, Serial#: 2554
    public void shrq___CL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0585((byte) 0xD3, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code shrw      [rbx + 305419896], cl}
     */
    // Template#: 11731, Serial#: 2626
    public void shrw___CL(int disp32, AMD64IndirectRegister64 destination) {
        assemble0348((byte) 0xD3, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrb      [rbx + 305419896], 0x12}
     */
    // Template#: 11732, Serial#: 1344
    public void shrb(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0xC0, (byte) 0x05, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrb      [rbx + 305419896], 0x12}
     */
    // Template#: 11733, Serial#: 1416
    public void shrb_r1416(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0xC0, (byte) 0x05, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrb      [rbx + 305419896], 0x12}
     */
    // Template#: 11734, Serial#: 1488
    public void shrb_r1488(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0xC0, (byte) 0x05, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrl  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrl      [rbx + 305419896], 0x12}
     */
    // Template#: 11735, Serial#: 1560
    public void shrl(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0xC1, (byte) 0x05, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrq  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrq      [rbx + 305419896], 0x12}
     */
    // Template#: 11736, Serial#: 1632
    public void shrq(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0xC1, (byte) 0x05, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrw  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrw      [rbx + 305419896], 0x12}
     */
    // Template#: 11737, Serial#: 1704
    public void shrw(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0xC1, (byte) 0x05, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code shrd      rbx[rsi * 4 + 18], ax, cl}
     */
    // Template#: 11738, Serial#: 11330
    public void shrd_CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0279((byte) 0xAD, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrd      rbx[rsi * 4 + 18], ax, 0x12}
     */
    // Template#: 11739, Serial#: 11303
    public void shrd(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source, byte imm8) {
        assemble1138((byte) 0xAC, disp8, base, index, scale, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code shrd      rbx[rsi * 4 + 18], eax, cl}
     */
    // Template#: 11740, Serial#: 11312
    public void shrd_CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0280((byte) 0xAD, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrd      rbx[rsi * 4 + 18], eax, 0x12}
     */
    // Template#: 11741, Serial#: 11285
    public void shrd(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source, byte imm8) {
        assemble1139((byte) 0xAC, disp8, base, index, scale, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code shrd      rbx[rsi * 4 + 18], rax, cl}
     */
    // Template#: 11742, Serial#: 11321
    public void shrd_CL(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0281((byte) 0xAD, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrd      rbx[rsi * 4 + 18], rax, 0x12}
     */
    // Template#: 11743, Serial#: 11294
    public void shrd(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source, byte imm8) {
        assemble1140((byte) 0xAC, disp8, base, index, scale, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code shrd      [rbx + 18], ax, cl}
     */
    // Template#: 11744, Serial#: 11329
    public void shrd_CL(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0285((byte) 0xAD, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>disp8</i>, <i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrd      [rbx + 18], ax, 0x12}
     */
    // Template#: 11745, Serial#: 11302
    public void shrd(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source, byte imm8) {
        assemble1141((byte) 0xAC, disp8, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code shrd      [rbx + 18], eax, cl}
     */
    // Template#: 11746, Serial#: 11311
    public void shrd_CL(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0286((byte) 0xAD, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>disp8</i>, <i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrd      [rbx + 18], eax, 0x12}
     */
    // Template#: 11747, Serial#: 11284
    public void shrd(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source, byte imm8) {
        assemble1142((byte) 0xAC, disp8, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code shrd      [rbx + 18], rax, cl}
     */
    // Template#: 11748, Serial#: 11320
    public void shrd_CL(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0287((byte) 0xAD, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>disp8</i>, <i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrd      [rbx + 18], rax, 0x12}
     */
    // Template#: 11749, Serial#: 11293
    public void shrd(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source, byte imm8) {
        assemble1143((byte) 0xAC, disp8, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code shrd      rbx[rsi * 4], ax, cl}
     */
    // Template#: 11750, Serial#: 11326
    public void shrd_CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0291((byte) 0xAD, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrd      rbx[rsi * 4], ax, 0x12}
     */
    // Template#: 11751, Serial#: 11299
    public void shrd(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source, byte imm8) {
        assemble1144((byte) 0xAC, base, index, scale, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code shrd      rbx[rsi * 4], eax, cl}
     */
    // Template#: 11752, Serial#: 11308
    public void shrd_CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0292((byte) 0xAD, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrd      rbx[rsi * 4], eax, 0x12}
     */
    // Template#: 11753, Serial#: 11281
    public void shrd(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source, byte imm8) {
        assemble1145((byte) 0xAC, base, index, scale, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code shrd      rbx[rsi * 4], rax, cl}
     */
    // Template#: 11754, Serial#: 11317
    public void shrd_CL(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0293((byte) 0xAD, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrd      rbx[rsi * 4], rax, 0x12}
     */
    // Template#: 11755, Serial#: 11290
    public void shrd(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source, byte imm8) {
        assemble1146((byte) 0xAC, base, index, scale, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code shrd      ax, ax, cl}
     */
    // Template#: 11756, Serial#: 11333
    public void shrd_CL(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0295((byte) 0xAD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrd      ax, ax, 0x12}
     */
    // Template#: 11757, Serial#: 11306
    public void shrd(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source, byte imm8) {
        assemble1147((byte) 0xAC, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code shrd      eax, eax, cl}
     */
    // Template#: 11758, Serial#: 11315
    public void shrd_CL(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0297((byte) 0xAD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrd      eax, eax, 0x12}
     */
    // Template#: 11759, Serial#: 11288
    public void shrd(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source, byte imm8) {
        assemble1148((byte) 0xAC, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code shrd      rax, rax, cl}
     */
    // Template#: 11760, Serial#: 11324
    public void shrd_CL(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0299((byte) 0xAD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrd      rax, rax, 0x12}
     */
    // Template#: 11761, Serial#: 11297
    public void shrd(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source, byte imm8) {
        assemble1149((byte) 0xAC, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code shrd      [rbx], ax, cl}
     */
    // Template#: 11762, Serial#: 11325
    public void shrd_CL(AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0303((byte) 0xAD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrd      [rbx], ax, 0x12}
     */
    // Template#: 11763, Serial#: 11298
    public void shrd(AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source, byte imm8) {
        assemble1150((byte) 0xAC, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code shrd      [rbx], eax, cl}
     */
    // Template#: 11764, Serial#: 11307
    public void shrd_CL(AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0304((byte) 0xAD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrd      [rbx], eax, 0x12}
     */
    // Template#: 11765, Serial#: 11280
    public void shrd(AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source, byte imm8) {
        assemble1151((byte) 0xAC, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code shrd      [rbx], rax, cl}
     */
    // Template#: 11766, Serial#: 11316
    public void shrd_CL(AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0305((byte) 0xAD, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrd      [rbx], rax, 0x12}
     */
    // Template#: 11767, Serial#: 11289
    public void shrd(AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source, byte imm8) {
        assemble1152((byte) 0xAC, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code shrd      rbx[rsi * 4 + 305419896], ax, cl}
     */
    // Template#: 11768, Serial#: 11332
    public void shrd_CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0312((byte) 0xAD, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrd      rbx[rsi * 4 + 305419896], ax, 0x12}
     */
    // Template#: 11769, Serial#: 11305
    public void shrd(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source, byte imm8) {
        assemble1153((byte) 0xAC, disp32, base, index, scale, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code shrd      rbx[rsi * 4 + 305419896], eax, cl}
     */
    // Template#: 11770, Serial#: 11314
    public void shrd_CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0313((byte) 0xAD, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrd      rbx[rsi * 4 + 305419896], eax, 0x12}
     */
    // Template#: 11771, Serial#: 11287
    public void shrd(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source, byte imm8) {
        assemble1154((byte) 0xAC, disp32, base, index, scale, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code shrd      rbx[rsi * 4 + 305419896], rax, cl}
     */
    // Template#: 11772, Serial#: 11323
    public void shrd_CL(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0314((byte) 0xAD, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrd      rbx[rsi * 4 + 305419896], rax, 0x12}
     */
    // Template#: 11773, Serial#: 11296
    public void shrd(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source, byte imm8) {
        assemble1155((byte) 0xAC, disp32, base, index, scale, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code shrd      [L1: +305419896], ax, cl}
     */
    // Template#: 11774, Serial#: 11328
    public void rip_shrd_CL(int rel32, AMD64GeneralRegister16 source) {
        assemble0315((byte) 0xAD, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>rel32</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrd      [L1: +305419896], ax, 0x12}
     */
    // Template#: 11775, Serial#: 11301
    public void rip_shrd(int rel32, AMD64GeneralRegister16 source, byte imm8) {
        assemble1156((byte) 0xAC, rel32, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code shrd      [L1: +305419896], eax, cl}
     */
    // Template#: 11776, Serial#: 11310
    public void rip_shrd_CL(int rel32, AMD64GeneralRegister32 source) {
        assemble0316((byte) 0xAD, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>rel32</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrd      [L1: +305419896], eax, 0x12}
     */
    // Template#: 11777, Serial#: 11283
    public void rip_shrd(int rel32, AMD64GeneralRegister32 source, byte imm8) {
        assemble1157((byte) 0xAC, rel32, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code shrd      [L1: +305419896], rax, cl}
     */
    // Template#: 11778, Serial#: 11319
    public void rip_shrd_CL(int rel32, AMD64GeneralRegister64 source) {
        assemble0317((byte) 0xAD, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>rel32</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrd      [L1: +305419896], rax, 0x12}
     */
    // Template#: 11779, Serial#: 11292
    public void rip_shrd(int rel32, AMD64GeneralRegister64 source, byte imm8) {
        assemble1158((byte) 0xAC, rel32, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code shrd      0x12345678[rsi * 4], ax, cl}
     */
    // Template#: 11780, Serial#: 11327
    public void m_shrd_CL(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0321((byte) 0xAD, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrd      0x12345678[rsi * 4], ax, 0x12}
     */
    // Template#: 11781, Serial#: 11300
    public void m_shrd(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source, byte imm8) {
        assemble1159((byte) 0xAC, m32, index, scale, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code shrd      0x12345678[rsi * 4], eax, cl}
     */
    // Template#: 11782, Serial#: 11309
    public void m_shrd_CL(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0322((byte) 0xAD, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrd      0x12345678[rsi * 4], eax, 0x12}
     */
    // Template#: 11783, Serial#: 11282
    public void m_shrd(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source, byte imm8) {
        assemble1160((byte) 0xAC, m32, index, scale, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code shrd      0x12345678[rsi * 4], rax, cl}
     */
    // Template#: 11784, Serial#: 11318
    public void m_shrd_CL(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0323((byte) 0xAD, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrd      0x12345678[rsi * 4], rax, 0x12}
     */
    // Template#: 11785, Serial#: 11291
    public void m_shrd(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source, byte imm8) {
        assemble1161((byte) 0xAC, m32, index, scale, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code shrd      [rbx + 305419896], ax, cl}
     */
    // Template#: 11786, Serial#: 11331
    public void shrd_CL(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0327((byte) 0xAD, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>disp32</i>, <i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrd      [rbx + 305419896], ax, 0x12}
     */
    // Template#: 11787, Serial#: 11304
    public void shrd(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source, byte imm8) {
        assemble1162((byte) 0xAC, disp32, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code shrd      [rbx + 305419896], eax, cl}
     */
    // Template#: 11788, Serial#: 11313
    public void shrd_CL(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0328((byte) 0xAD, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>disp32</i>, <i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrd      [rbx + 305419896], eax, 0x12}
     */
    // Template#: 11789, Serial#: 11286
    public void shrd(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source, byte imm8) {
        assemble1163((byte) 0xAC, disp32, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code shrd      [rbx + 305419896], rax, cl}
     */
    // Template#: 11790, Serial#: 11322
    public void shrd_CL(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0329((byte) 0xAD, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code shrd  }<i>disp32</i>, <i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shrd      [rbx + 305419896], rax, 0x12}
     */
    // Template#: 11791, Serial#: 11295
    public void shrd(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source, byte imm8) {
        assemble1164((byte) 0xAC, disp32, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufpd    xmm0, rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 11792, Serial#: 8123
    public void shufpd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0997((byte) 0xC6, destination, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufpd    xmm0, rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 11793, Serial#: 8132
    public void shufpd_r8132(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1038((byte) 0xC6, destination, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufpd    xmm0, [rbx + 18], 0x12}
     */
    // Template#: 11794, Serial#: 8122
    public void shufpd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        assemble0998((byte) 0xC6, destination, disp8, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufpd    xmm0, [rbx + 18], 0x12}
     */
    // Template#: 11795, Serial#: 8131
    public void shufpd_r8131(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        assemble1039((byte) 0xC6, destination, disp8, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufpd    xmm0, rbx[rsi * 4], 0x12}
     */
    // Template#: 11796, Serial#: 8119
    public void shufpd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0999((byte) 0xC6, destination, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufpd    xmm0, rbx[rsi * 4], 0x12}
     */
    // Template#: 11797, Serial#: 8128
    public void shufpd_r8128(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1040((byte) 0xC6, destination, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufpd  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufpd    xmm0, [rbx], 0x12}
     */
    // Template#: 11798, Serial#: 8118
    public void shufpd(AMD64XMMRegister destination, AMD64IndirectRegister64 source, byte imm8) {
        assemble1001((byte) 0xC6, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufpd  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufpd    xmm0, [rbx], 0x12}
     */
    // Template#: 11799, Serial#: 8127
    public void shufpd_r8127(AMD64XMMRegister destination, AMD64IndirectRegister64 source, byte imm8) {
        assemble1041((byte) 0xC6, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufpd  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufpd    xmm0, xmm0, 0x12}
     */
    // Template#: 11800, Serial#: 8126
    public void shufpd(AMD64XMMRegister destination, AMD64XMMRegister source, byte imm8) {
        assemble1042((byte) 0xC6, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufpd  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufpd    xmm0, xmm0, 0x12}
     */
    // Template#: 11801, Serial#: 8135
    public void shufpd_r8135(AMD64XMMRegister destination, AMD64XMMRegister source, byte imm8) {
        assemble1043((byte) 0xC6, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufpd  }<i>destination</i>, <i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufpd    xmm0, [L1: +305419896], 0x12}
     */
    // Template#: 11802, Serial#: 8121
    public void rip_shufpd(AMD64XMMRegister destination, int rel32, byte imm8) {
        assemble1002((byte) 0xC6, destination, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufpd  }<i>destination</i>, <i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufpd    xmm0, [L1: +305419896], 0x12}
     */
    // Template#: 11803, Serial#: 8130
    public void rip_shufpd_r8130(AMD64XMMRegister destination, int rel32, byte imm8) {
        assemble1044((byte) 0xC6, destination, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufpd    xmm0, rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 11804, Serial#: 8125
    public void shufpd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1003((byte) 0xC6, destination, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufpd    xmm0, rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 11805, Serial#: 8134
    public void shufpd_r8134(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1045((byte) 0xC6, destination, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufpd    xmm0, 0x12345678[rsi * 4], 0x12}
     */
    // Template#: 11806, Serial#: 8120
    public void m_shufpd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1004((byte) 0xC6, destination, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufpd    xmm0, 0x12345678[rsi * 4], 0x12}
     */
    // Template#: 11807, Serial#: 8129
    public void m_shufpd_r8129(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1046((byte) 0xC6, destination, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufpd    xmm0, [rbx + 305419896], 0x12}
     */
    // Template#: 11808, Serial#: 8124
    public void shufpd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        assemble1005((byte) 0xC6, destination, disp32, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufpd    xmm0, [rbx + 305419896], 0x12}
     */
    // Template#: 11809, Serial#: 8133
    public void shufpd_r8133(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        assemble1047((byte) 0xC6, destination, disp32, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufps    xmm0, rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 11810, Serial#: 8051
    public void shufps(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1165((byte) 0xC6, destination, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufps    xmm0, rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 11811, Serial#: 8060
    public void shufps_r8060(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1166((byte) 0xC6, destination, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufps  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufps    xmm0, [rbx + 18], 0x12}
     */
    // Template#: 11812, Serial#: 8050
    public void shufps(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        assemble1167((byte) 0xC6, destination, disp8, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufps  }<i>destination</i>, <i>disp8</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufps    xmm0, [rbx + 18], 0x12}
     */
    // Template#: 11813, Serial#: 8059
    public void shufps_r8059(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        assemble1168((byte) 0xC6, destination, disp8, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufps    xmm0, rbx[rsi * 4], 0x12}
     */
    // Template#: 11814, Serial#: 8047
    public void shufps(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1169((byte) 0xC6, destination, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufps    xmm0, rbx[rsi * 4], 0x12}
     */
    // Template#: 11815, Serial#: 8056
    public void shufps_r8056(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1170((byte) 0xC6, destination, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufps  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufps    xmm0, [rbx], 0x12}
     */
    // Template#: 11816, Serial#: 8046
    public void shufps(AMD64XMMRegister destination, AMD64IndirectRegister64 source, byte imm8) {
        assemble1171((byte) 0xC6, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufps  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufps    xmm0, [rbx], 0x12}
     */
    // Template#: 11817, Serial#: 8055
    public void shufps_r8055(AMD64XMMRegister destination, AMD64IndirectRegister64 source, byte imm8) {
        assemble1172((byte) 0xC6, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufps  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufps    xmm0, xmm0, 0x12}
     */
    // Template#: 11818, Serial#: 8054
    public void shufps(AMD64XMMRegister destination, AMD64XMMRegister source, byte imm8) {
        assemble1173((byte) 0xC6, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufps  }<i>destination</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufps    xmm0, xmm0, 0x12}
     */
    // Template#: 11819, Serial#: 8063
    public void shufps_r8063(AMD64XMMRegister destination, AMD64XMMRegister source, byte imm8) {
        assemble1174((byte) 0xC6, destination, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufps  }<i>destination</i>, <i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufps    xmm0, [L1: +305419896], 0x12}
     */
    // Template#: 11820, Serial#: 8049
    public void rip_shufps(AMD64XMMRegister destination, int rel32, byte imm8) {
        assemble1175((byte) 0xC6, destination, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufps  }<i>destination</i>, <i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufps    xmm0, [L1: +305419896], 0x12}
     */
    // Template#: 11821, Serial#: 8058
    public void rip_shufps_r8058(AMD64XMMRegister destination, int rel32, byte imm8) {
        assemble1176((byte) 0xC6, destination, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufps    xmm0, rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 11822, Serial#: 8053
    public void shufps(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1177((byte) 0xC6, destination, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufps    xmm0, rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 11823, Serial#: 8062
    public void shufps_r8062(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1178((byte) 0xC6, destination, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufps    xmm0, 0x12345678[rsi * 4], 0x12}
     */
    // Template#: 11824, Serial#: 8048
    public void m_shufps(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1179((byte) 0xC6, destination, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufps    xmm0, 0x12345678[rsi * 4], 0x12}
     */
    // Template#: 11825, Serial#: 8057
    public void m_shufps_r8057(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble1180((byte) 0xC6, destination, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufps  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufps    xmm0, [rbx + 305419896], 0x12}
     */
    // Template#: 11826, Serial#: 8052
    public void shufps(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        assemble1181((byte) 0xC6, destination, disp32, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code shufps  }<i>destination</i>, <i>disp32</i>, <i>source</i>, <i>imm8</i>
     * Example disassembly syntax: {@code shufps    xmm0, [rbx + 305419896], 0x12}
     */
    // Template#: 11827, Serial#: 8061
    public void shufps_r8061(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        assemble1182((byte) 0xC6, destination, disp32, source, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sidt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sidt      rbx[rsi * 4 + 18]}
     */
    // Template#: 11828, Serial#: 5676
    public void sidt(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0349((byte) 0x01, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sidt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sidt      rbx[rsi * 4 + 18]}
     */
    // Template#: 11829, Serial#: 5733
    public void sidt_r5733(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0350((byte) 0x01, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sidt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sidt      rbx[rsi * 4 + 18]}
     */
    // Template#: 11830, Serial#: 5790
    public void sidt_r5790(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0351((byte) 0x01, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sidt  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code sidt      [rbx + 18]}
     */
    // Template#: 11831, Serial#: 5675
    public void sidt(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0352((byte) 0x01, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sidt  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code sidt      [rbx + 18]}
     */
    // Template#: 11832, Serial#: 5732
    public void sidt_r5732(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0353((byte) 0x01, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sidt  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code sidt      [rbx + 18]}
     */
    // Template#: 11833, Serial#: 5789
    public void sidt_r5789(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0354((byte) 0x01, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sidt  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sidt      rbx[rsi * 4]}
     */
    // Template#: 11834, Serial#: 5650
    public void sidt(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0355((byte) 0x01, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sidt  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sidt      rbx[rsi * 4]}
     */
    // Template#: 11835, Serial#: 5707
    public void sidt_r5707(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0356((byte) 0x01, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sidt  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sidt      rbx[rsi * 4]}
     */
    // Template#: 11836, Serial#: 5764
    public void sidt_r5764(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0357((byte) 0x01, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sidt  }<i>destination</i>
     * Example disassembly syntax: {@code sidt      [rbx]}
     */
    // Template#: 11837, Serial#: 5649
    public void sidt(AMD64IndirectRegister64 destination) {
        assemble0358((byte) 0x01, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sidt  }<i>destination</i>
     * Example disassembly syntax: {@code sidt      [rbx]}
     */
    // Template#: 11838, Serial#: 5706
    public void sidt_r5706(AMD64IndirectRegister64 destination) {
        assemble0359((byte) 0x01, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sidt  }<i>destination</i>
     * Example disassembly syntax: {@code sidt      [rbx]}
     */
    // Template#: 11839, Serial#: 5763
    public void sidt_r5763(AMD64IndirectRegister64 destination) {
        assemble0360((byte) 0x01, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sidt  }<i>rel32</i>
     * Example disassembly syntax: {@code sidt      [L1: +305419896]}
     */
    // Template#: 11840, Serial#: 5652
    public void rip_sidt(int rel32) {
        assemble0361((byte) 0x01, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sidt  }<i>rel32</i>
     * Example disassembly syntax: {@code sidt      [L1: +305419896]}
     */
    // Template#: 11841, Serial#: 5709
    public void rip_sidt_r5709(int rel32) {
        assemble0362((byte) 0x01, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sidt  }<i>rel32</i>
     * Example disassembly syntax: {@code sidt      [L1: +305419896]}
     */
    // Template#: 11842, Serial#: 5766
    public void rip_sidt_r5766(int rel32) {
        assemble0363((byte) 0x01, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sidt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sidt      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11843, Serial#: 5690
    public void sidt(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0364((byte) 0x01, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sidt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sidt      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11844, Serial#: 5747
    public void sidt_r5747(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0365((byte) 0x01, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sidt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sidt      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11845, Serial#: 5804
    public void sidt_r5804(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0366((byte) 0x01, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sidt  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sidt      0x12345678[rsi * 4]}
     */
    // Template#: 11846, Serial#: 5651
    public void m_sidt(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0367((byte) 0x01, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sidt  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sidt      0x12345678[rsi * 4]}
     */
    // Template#: 11847, Serial#: 5708
    public void m_sidt_r5708(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0368((byte) 0x01, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sidt  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sidt      0x12345678[rsi * 4]}
     */
    // Template#: 11848, Serial#: 5765
    public void m_sidt_r5765(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0369((byte) 0x01, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sidt  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code sidt      [rbx + 305419896]}
     */
    // Template#: 11849, Serial#: 5689
    public void sidt(int disp32, AMD64IndirectRegister64 destination) {
        assemble0370((byte) 0x01, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sidt  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code sidt      [rbx + 305419896]}
     */
    // Template#: 11850, Serial#: 5746
    public void sidt_r5746(int disp32, AMD64IndirectRegister64 destination) {
        assemble0371((byte) 0x01, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sidt  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code sidt      [rbx + 305419896]}
     */
    // Template#: 11851, Serial#: 5803
    public void sidt_r5803(int disp32, AMD64IndirectRegister64 destination) {
        assemble0372((byte) 0x01, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sldt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sldt      rbx[rsi * 4 + 18]}
     */
    // Template#: 11852, Serial#: 5508
    public void sldt(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0349((byte) 0x00, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sldt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sldt      rbx[rsi * 4 + 18]}
     */
    // Template#: 11853, Serial#: 5560
    public void sldt_r5560(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0350((byte) 0x00, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sldt  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sldt      rbx[rsi * 4 + 18]}
     */
    // Template#: 11854, Serial#: 5612
    public void sldt_r5612(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0351((byte) 0x00, (byte) 0x00, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sldt  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code sldt      [rbx + 18]}
     */
    // Template#: 11855, Serial#: 5507
    public void sldt(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0352((byte) 0x00, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sldt  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code sldt      [rbx + 18]}
     */
    // Template#: 11856, Serial#: 5559
    public void sldt_r5559(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0353((byte) 0x00, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sldt  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code sldt      [rbx + 18]}
     */
    // Template#: 11857, Serial#: 5611
    public void sldt_r5611(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0354((byte) 0x00, (byte) 0x00, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sldt  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sldt      rbx[rsi * 4]}
     */
    // Template#: 11858, Serial#: 5484
    public void sldt(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0355((byte) 0x00, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sldt  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sldt      rbx[rsi * 4]}
     */
    // Template#: 11859, Serial#: 5536
    public void sldt_r5536(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0356((byte) 0x00, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sldt  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sldt      rbx[rsi * 4]}
     */
    // Template#: 11860, Serial#: 5588
    public void sldt_r5588(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0357((byte) 0x00, (byte) 0x00, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sldt  }<i>destination</i>
     * Example disassembly syntax: {@code sldt      ax}
     */
    // Template#: 11861, Serial#: 5643
    public void sldt(AMD64GeneralRegister16 destination) {
        assemble0697((byte) 0x00, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sldt  }<i>destination</i>
     * Example disassembly syntax: {@code sldt      eax}
     */
    // Template#: 11862, Serial#: 5639
    public void sldt(AMD64GeneralRegister32 destination) {
        assemble1183((byte) 0x00, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sldt  }<i>destination</i>
     * Example disassembly syntax: {@code sldt      rax}
     */
    // Template#: 11863, Serial#: 5641
    public void sldt(AMD64GeneralRegister64 destination) {
        assemble1184((byte) 0x00, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sldt  }<i>destination</i>
     * Example disassembly syntax: {@code sldt      [rbx]}
     */
    // Template#: 11864, Serial#: 5483
    public void sldt(AMD64IndirectRegister64 destination) {
        assemble0358((byte) 0x00, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sldt  }<i>destination</i>
     * Example disassembly syntax: {@code sldt      [rbx]}
     */
    // Template#: 11865, Serial#: 5535
    public void sldt_r5535(AMD64IndirectRegister64 destination) {
        assemble0359((byte) 0x00, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sldt  }<i>destination</i>
     * Example disassembly syntax: {@code sldt      [rbx]}
     */
    // Template#: 11866, Serial#: 5587
    public void sldt_r5587(AMD64IndirectRegister64 destination) {
        assemble0360((byte) 0x00, (byte) 0x00, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sldt  }<i>rel32</i>
     * Example disassembly syntax: {@code sldt      [L1: +305419896]}
     */
    // Template#: 11867, Serial#: 5486
    public void rip_sldt(int rel32) {
        assemble0361((byte) 0x00, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sldt  }<i>rel32</i>
     * Example disassembly syntax: {@code sldt      [L1: +305419896]}
     */
    // Template#: 11868, Serial#: 5538
    public void rip_sldt_r5538(int rel32) {
        assemble0362((byte) 0x00, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sldt  }<i>rel32</i>
     * Example disassembly syntax: {@code sldt      [L1: +305419896]}
     */
    // Template#: 11869, Serial#: 5590
    public void rip_sldt_r5590(int rel32) {
        assemble0363((byte) 0x00, (byte) 0x00, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sldt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sldt      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11870, Serial#: 5520
    public void sldt(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0364((byte) 0x00, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sldt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sldt      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11871, Serial#: 5572
    public void sldt_r5572(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0365((byte) 0x00, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sldt  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sldt      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11872, Serial#: 5624
    public void sldt_r5624(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0366((byte) 0x00, (byte) 0x00, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sldt  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sldt      0x12345678[rsi * 4]}
     */
    // Template#: 11873, Serial#: 5485
    public void m_sldt(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0367((byte) 0x00, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sldt  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sldt      0x12345678[rsi * 4]}
     */
    // Template#: 11874, Serial#: 5537
    public void m_sldt_r5537(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0368((byte) 0x00, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sldt  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sldt      0x12345678[rsi * 4]}
     */
    // Template#: 11875, Serial#: 5589
    public void m_sldt_r5589(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0369((byte) 0x00, (byte) 0x00, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sldt  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code sldt      [rbx + 305419896]}
     */
    // Template#: 11876, Serial#: 5519
    public void sldt(int disp32, AMD64IndirectRegister64 destination) {
        assemble0370((byte) 0x00, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sldt  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code sldt      [rbx + 305419896]}
     */
    // Template#: 11877, Serial#: 5571
    public void sldt_r5571(int disp32, AMD64IndirectRegister64 destination) {
        assemble0371((byte) 0x00, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sldt  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code sldt      [rbx + 305419896]}
     */
    // Template#: 11878, Serial#: 5623
    public void sldt_r5623(int disp32, AMD64IndirectRegister64 destination) {
        assemble0372((byte) 0x00, (byte) 0x00, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code smsw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code smsw      rbx[rsi * 4 + 18]}
     */
    // Template#: 11879, Serial#: 5682
    public void smsw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0349((byte) 0x01, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code smsw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code smsw      rbx[rsi * 4 + 18]}
     */
    // Template#: 11880, Serial#: 5739
    public void smsw_r5739(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0350((byte) 0x01, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code smsw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code smsw      rbx[rsi * 4 + 18]}
     */
    // Template#: 11881, Serial#: 5796
    public void smsw_r5796(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0351((byte) 0x01, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code smsw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code smsw      [rbx + 18]}
     */
    // Template#: 11882, Serial#: 5681
    public void smsw(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0352((byte) 0x01, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code smsw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code smsw      [rbx + 18]}
     */
    // Template#: 11883, Serial#: 5738
    public void smsw_r5738(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0353((byte) 0x01, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code smsw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code smsw      [rbx + 18]}
     */
    // Template#: 11884, Serial#: 5795
    public void smsw_r5795(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0354((byte) 0x01, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code smsw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code smsw      rbx[rsi * 4]}
     */
    // Template#: 11885, Serial#: 5662
    public void smsw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0355((byte) 0x01, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code smsw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code smsw      rbx[rsi * 4]}
     */
    // Template#: 11886, Serial#: 5719
    public void smsw_r5719(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0356((byte) 0x01, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code smsw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code smsw      rbx[rsi * 4]}
     */
    // Template#: 11887, Serial#: 5776
    public void smsw_r5776(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0357((byte) 0x01, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code smsw  }<i>destination</i>
     * Example disassembly syntax: {@code smsw      ax}
     */
    // Template#: 11888, Serial#: 5820
    public void smsw(AMD64GeneralRegister16 destination) {
        assemble0697((byte) 0x01, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code smsw  }<i>destination</i>
     * Example disassembly syntax: {@code smsw      eax}
     */
    // Template#: 11889, Serial#: 5816
    public void smsw(AMD64GeneralRegister32 destination) {
        assemble1183((byte) 0x01, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code smsw  }<i>destination</i>
     * Example disassembly syntax: {@code smsw      rax}
     */
    // Template#: 11890, Serial#: 5818
    public void smsw(AMD64GeneralRegister64 destination) {
        assemble1184((byte) 0x01, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code smsw  }<i>destination</i>
     * Example disassembly syntax: {@code smsw      [rbx]}
     */
    // Template#: 11891, Serial#: 5661
    public void smsw(AMD64IndirectRegister64 destination) {
        assemble0358((byte) 0x01, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code smsw  }<i>destination</i>
     * Example disassembly syntax: {@code smsw      [rbx]}
     */
    // Template#: 11892, Serial#: 5718
    public void smsw_r5718(AMD64IndirectRegister64 destination) {
        assemble0359((byte) 0x01, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code smsw  }<i>destination</i>
     * Example disassembly syntax: {@code smsw      [rbx]}
     */
    // Template#: 11893, Serial#: 5775
    public void smsw_r5775(AMD64IndirectRegister64 destination) {
        assemble0360((byte) 0x01, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code smsw  }<i>rel32</i>
     * Example disassembly syntax: {@code smsw      [L1: +305419896]}
     */
    // Template#: 11894, Serial#: 5664
    public void rip_smsw(int rel32) {
        assemble0361((byte) 0x01, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code smsw  }<i>rel32</i>
     * Example disassembly syntax: {@code smsw      [L1: +305419896]}
     */
    // Template#: 11895, Serial#: 5721
    public void rip_smsw_r5721(int rel32) {
        assemble0362((byte) 0x01, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code smsw  }<i>rel32</i>
     * Example disassembly syntax: {@code smsw      [L1: +305419896]}
     */
    // Template#: 11896, Serial#: 5778
    public void rip_smsw_r5778(int rel32) {
        assemble0363((byte) 0x01, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code smsw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code smsw      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11897, Serial#: 5696
    public void smsw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0364((byte) 0x01, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code smsw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code smsw      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11898, Serial#: 5753
    public void smsw_r5753(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0365((byte) 0x01, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code smsw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code smsw      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11899, Serial#: 5810
    public void smsw_r5810(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0366((byte) 0x01, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code smsw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code smsw      0x12345678[rsi * 4]}
     */
    // Template#: 11900, Serial#: 5663
    public void m_smsw(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0367((byte) 0x01, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code smsw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code smsw      0x12345678[rsi * 4]}
     */
    // Template#: 11901, Serial#: 5720
    public void m_smsw_r5720(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0368((byte) 0x01, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code smsw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code smsw      0x12345678[rsi * 4]}
     */
    // Template#: 11902, Serial#: 5777
    public void m_smsw_r5777(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0369((byte) 0x01, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code smsw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code smsw      [rbx + 305419896]}
     */
    // Template#: 11903, Serial#: 5695
    public void smsw(int disp32, AMD64IndirectRegister64 destination) {
        assemble0370((byte) 0x01, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code smsw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code smsw      [rbx + 305419896]}
     */
    // Template#: 11904, Serial#: 5752
    public void smsw_r5752(int disp32, AMD64IndirectRegister64 destination) {
        assemble0371((byte) 0x01, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code smsw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code smsw      [rbx + 305419896]}
     */
    // Template#: 11905, Serial#: 5809
    public void smsw_r5809(int disp32, AMD64IndirectRegister64 destination) {
        assemble0372((byte) 0x01, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtpd    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 11906, Serial#: 6718
    public void sqrtpd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x51, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtpd    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 11907, Serial#: 6727
    public void sqrtpd_r6727(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x51, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtpd    xmm0, [rbx + 18]}
     */
    // Template#: 11908, Serial#: 6717
    public void sqrtpd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x51, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtpd    xmm0, [rbx + 18]}
     */
    // Template#: 11909, Serial#: 6726
    public void sqrtpd_r6726(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x51, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtpd    xmm0, rbx[rsi * 4]}
     */
    // Template#: 11910, Serial#: 6714
    public void sqrtpd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x51, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtpd    xmm0, rbx[rsi * 4]}
     */
    // Template#: 11911, Serial#: 6723
    public void sqrtpd_r6723(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x51, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtpd    xmm0, [rbx]}
     */
    // Template#: 11912, Serial#: 6713
    public void sqrtpd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x51, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtpd    xmm0, [rbx]}
     */
    // Template#: 11913, Serial#: 6722
    public void sqrtpd_r6722(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x51, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtpd    xmm0, xmm0}
     */
    // Template#: 11914, Serial#: 6721
    public void sqrtpd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x51, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtpd    xmm0, xmm0}
     */
    // Template#: 11915, Serial#: 6730
    public void sqrtpd_r6730(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x51, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code sqrtpd    xmm0, [L1: +305419896]}
     */
    // Template#: 11916, Serial#: 6716
    public void rip_sqrtpd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x51, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code sqrtpd    xmm0, [L1: +305419896]}
     */
    // Template#: 11917, Serial#: 6725
    public void rip_sqrtpd_r6725(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x51, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtpd    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11918, Serial#: 6720
    public void sqrtpd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x51, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtpd    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11919, Serial#: 6729
    public void sqrtpd_r6729(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x51, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtpd    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 11920, Serial#: 6715
    public void m_sqrtpd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x51, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtpd    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 11921, Serial#: 6724
    public void m_sqrtpd_r6724(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x51, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtpd    xmm0, [rbx + 305419896]}
     */
    // Template#: 11922, Serial#: 6719
    public void sqrtpd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x51, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtpd    xmm0, [rbx + 305419896]}
     */
    // Template#: 11923, Serial#: 6728
    public void sqrtpd_r6728(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x51, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtps    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 11924, Serial#: 6589
    public void sqrtps(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0190((byte) 0x51, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtps    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 11925, Serial#: 6598
    public void sqrtps_r6598(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0191((byte) 0x51, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtps    xmm0, [rbx + 18]}
     */
    // Template#: 11926, Serial#: 6588
    public void sqrtps(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0192((byte) 0x51, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtps    xmm0, [rbx + 18]}
     */
    // Template#: 11927, Serial#: 6597
    public void sqrtps_r6597(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0193((byte) 0x51, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtps    xmm0, rbx[rsi * 4]}
     */
    // Template#: 11928, Serial#: 6585
    public void sqrtps(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0194((byte) 0x51, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtps    xmm0, rbx[rsi * 4]}
     */
    // Template#: 11929, Serial#: 6594
    public void sqrtps_r6594(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0195((byte) 0x51, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtps    xmm0, [rbx]}
     */
    // Template#: 11930, Serial#: 6584
    public void sqrtps(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0196((byte) 0x51, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtps    xmm0, [rbx]}
     */
    // Template#: 11931, Serial#: 6593
    public void sqrtps_r6593(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0197((byte) 0x51, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtps    xmm0, xmm0}
     */
    // Template#: 11932, Serial#: 6592
    public void sqrtps(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0198((byte) 0x51, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtps    xmm0, xmm0}
     */
    // Template#: 11933, Serial#: 6601
    public void sqrtps_r6601(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0199((byte) 0x51, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code sqrtps    xmm0, [L1: +305419896]}
     */
    // Template#: 11934, Serial#: 6587
    public void rip_sqrtps(AMD64XMMRegister destination, int rel32) {
        assemble0200((byte) 0x51, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code sqrtps    xmm0, [L1: +305419896]}
     */
    // Template#: 11935, Serial#: 6596
    public void rip_sqrtps_r6596(AMD64XMMRegister destination, int rel32) {
        assemble0201((byte) 0x51, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtps    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11936, Serial#: 6591
    public void sqrtps(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0202((byte) 0x51, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtps    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11937, Serial#: 6600
    public void sqrtps_r6600(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0203((byte) 0x51, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtps    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 11938, Serial#: 6586
    public void m_sqrtps(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0204((byte) 0x51, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtps    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 11939, Serial#: 6595
    public void m_sqrtps_r6595(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0205((byte) 0x51, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtps    xmm0, [rbx + 305419896]}
     */
    // Template#: 11940, Serial#: 6590
    public void sqrtps(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0206((byte) 0x51, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtps    xmm0, [rbx + 305419896]}
     */
    // Template#: 11941, Serial#: 6599
    public void sqrtps_r6599(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0207((byte) 0x51, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtsd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtsd    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 11942, Serial#: 6808
    public void sqrtsd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0211((byte) 0x51, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtsd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtsd    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 11943, Serial#: 6817
    public void sqrtsd_r6817(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0212((byte) 0x51, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtsd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtsd    xmm0, [rbx + 18]}
     */
    // Template#: 11944, Serial#: 6807
    public void sqrtsd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0213((byte) 0x51, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtsd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtsd    xmm0, [rbx + 18]}
     */
    // Template#: 11945, Serial#: 6816
    public void sqrtsd_r6816(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0214((byte) 0x51, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtsd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtsd    xmm0, rbx[rsi * 4]}
     */
    // Template#: 11946, Serial#: 6804
    public void sqrtsd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0215((byte) 0x51, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtsd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtsd    xmm0, rbx[rsi * 4]}
     */
    // Template#: 11947, Serial#: 6813
    public void sqrtsd_r6813(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0216((byte) 0x51, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtsd    xmm0, [rbx]}
     */
    // Template#: 11948, Serial#: 6803
    public void sqrtsd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0217((byte) 0x51, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtsd    xmm0, [rbx]}
     */
    // Template#: 11949, Serial#: 6812
    public void sqrtsd_r6812(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0218((byte) 0x51, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtsd    xmm0, xmm0}
     */
    // Template#: 11950, Serial#: 6811
    public void sqrtsd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0219((byte) 0x51, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtsd    xmm0, xmm0}
     */
    // Template#: 11951, Serial#: 6820
    public void sqrtsd_r6820(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0220((byte) 0x51, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtsd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code sqrtsd    xmm0, [L1: +305419896]}
     */
    // Template#: 11952, Serial#: 6806
    public void rip_sqrtsd(AMD64XMMRegister destination, int rel32) {
        assemble0221((byte) 0x51, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtsd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code sqrtsd    xmm0, [L1: +305419896]}
     */
    // Template#: 11953, Serial#: 6815
    public void rip_sqrtsd_r6815(AMD64XMMRegister destination, int rel32) {
        assemble0222((byte) 0x51, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtsd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtsd    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11954, Serial#: 6810
    public void sqrtsd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0223((byte) 0x51, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtsd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtsd    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11955, Serial#: 6819
    public void sqrtsd_r6819(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0224((byte) 0x51, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtsd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtsd    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 11956, Serial#: 6805
    public void m_sqrtsd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0225((byte) 0x51, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtsd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtsd    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 11957, Serial#: 6814
    public void m_sqrtsd_r6814(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0226((byte) 0x51, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtsd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtsd    xmm0, [rbx + 305419896]}
     */
    // Template#: 11958, Serial#: 6809
    public void sqrtsd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0227((byte) 0x51, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtsd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtsd    xmm0, [rbx + 305419896]}
     */
    // Template#: 11959, Serial#: 6818
    public void sqrtsd_r6818(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0228((byte) 0x51, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtss    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 11960, Serial#: 6826
    public void sqrtss(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0229((byte) 0x51, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtss    xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 11961, Serial#: 6835
    public void sqrtss_r6835(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0230((byte) 0x51, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtss  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtss    xmm0, [rbx + 18]}
     */
    // Template#: 11962, Serial#: 6825
    public void sqrtss(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0231((byte) 0x51, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtss  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtss    xmm0, [rbx + 18]}
     */
    // Template#: 11963, Serial#: 6834
    public void sqrtss_r6834(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0232((byte) 0x51, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtss    xmm0, rbx[rsi * 4]}
     */
    // Template#: 11964, Serial#: 6822
    public void sqrtss(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0233((byte) 0x51, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtss    xmm0, rbx[rsi * 4]}
     */
    // Template#: 11965, Serial#: 6831
    public void sqrtss_r6831(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0234((byte) 0x51, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtss    xmm0, [rbx]}
     */
    // Template#: 11966, Serial#: 6821
    public void sqrtss(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0235((byte) 0x51, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtss    xmm0, [rbx]}
     */
    // Template#: 11967, Serial#: 6830
    public void sqrtss_r6830(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0236((byte) 0x51, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtss    xmm0, xmm0}
     */
    // Template#: 11968, Serial#: 6829
    public void sqrtss(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0237((byte) 0x51, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtss    xmm0, xmm0}
     */
    // Template#: 11969, Serial#: 6838
    public void sqrtss_r6838(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0238((byte) 0x51, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtss  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code sqrtss    xmm0, [L1: +305419896]}
     */
    // Template#: 11970, Serial#: 6824
    public void rip_sqrtss(AMD64XMMRegister destination, int rel32) {
        assemble0239((byte) 0x51, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtss  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code sqrtss    xmm0, [L1: +305419896]}
     */
    // Template#: 11971, Serial#: 6833
    public void rip_sqrtss_r6833(AMD64XMMRegister destination, int rel32) {
        assemble0240((byte) 0x51, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtss    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11972, Serial#: 6828
    public void sqrtss(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0241((byte) 0x51, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtss    xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 11973, Serial#: 6837
    public void sqrtss_r6837(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0242((byte) 0x51, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtss    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 11974, Serial#: 6823
    public void m_sqrtss(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0243((byte) 0x51, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sqrtss    xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 11975, Serial#: 6832
    public void m_sqrtss_r6832(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0244((byte) 0x51, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtss  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtss    xmm0, [rbx + 305419896]}
     */
    // Template#: 11976, Serial#: 6827
    public void sqrtss(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0245((byte) 0x51, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sqrtss  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code sqrtss    xmm0, [rbx + 305419896]}
     */
    // Template#: 11977, Serial#: 6836
    public void sqrtss_r6836(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0246((byte) 0x51, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code stc  }
     * Example disassembly syntax: {@code stc     }
     */
    // Template#: 11978, Serial#: 5306
    public void stc() {
        assemble0208((byte) 0xF9);
    }

    /**
     * Pseudo-external assembler syntax: {@code stc  }
     * Example disassembly syntax: {@code stc     }
     */
    // Template#: 11979, Serial#: 5307
    public void stc_r5307() {
        assemble0209((byte) 0xF9);
    }

    /**
     * Pseudo-external assembler syntax: {@code stc  }
     * Example disassembly syntax: {@code stc     }
     */
    // Template#: 11980, Serial#: 5308
    public void stc_r5308() {
        assemble0210((byte) 0xF9);
    }

    /**
     * Pseudo-external assembler syntax: {@code std  }
     * Example disassembly syntax: {@code std     }
     */
    // Template#: 11981, Serial#: 5318
    public void std() {
        assemble0208((byte) 0xFD);
    }

    /**
     * Pseudo-external assembler syntax: {@code std  }
     * Example disassembly syntax: {@code std     }
     */
    // Template#: 11982, Serial#: 5319
    public void std_r5319() {
        assemble0209((byte) 0xFD);
    }

    /**
     * Pseudo-external assembler syntax: {@code std  }
     * Example disassembly syntax: {@code std     }
     */
    // Template#: 11983, Serial#: 5320
    public void std_r5320() {
        assemble0210((byte) 0xFD);
    }

    /**
     * Pseudo-external assembler syntax: {@code sti  }
     * Example disassembly syntax: {@code sti     }
     */
    // Template#: 11984, Serial#: 5312
    public void sti() {
        assemble0208((byte) 0xFB);
    }

    /**
     * Pseudo-external assembler syntax: {@code sti  }
     * Example disassembly syntax: {@code sti     }
     */
    // Template#: 11985, Serial#: 5313
    public void sti_r5313() {
        assemble0209((byte) 0xFB);
    }

    /**
     * Pseudo-external assembler syntax: {@code sti  }
     * Example disassembly syntax: {@code sti     }
     */
    // Template#: 11986, Serial#: 5314
    public void sti_r5314() {
        assemble0210((byte) 0xFB);
    }

    /**
     * Pseudo-external assembler syntax: {@code stmxcsr  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code stmxcsr   rbx[rsi * 4 + 18]}
     */
    // Template#: 11987, Serial#: 11361
    public void stmxcsr(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0349((byte) 0xAE, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code stmxcsr  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code stmxcsr   rbx[rsi * 4 + 18]}
     */
    // Template#: 11988, Serial#: 11401
    public void stmxcsr_r11401(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0350((byte) 0xAE, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code stmxcsr  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code stmxcsr   rbx[rsi * 4 + 18]}
     */
    // Template#: 11989, Serial#: 11441
    public void stmxcsr_r11441(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0351((byte) 0xAE, (byte) 0x03, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code stmxcsr  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code stmxcsr   [rbx + 18]}
     */
    // Template#: 11990, Serial#: 11360
    public void stmxcsr(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0352((byte) 0xAE, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code stmxcsr  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code stmxcsr   [rbx + 18]}
     */
    // Template#: 11991, Serial#: 11400
    public void stmxcsr_r11400(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0353((byte) 0xAE, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code stmxcsr  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code stmxcsr   [rbx + 18]}
     */
    // Template#: 11992, Serial#: 11440
    public void stmxcsr_r11440(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0354((byte) 0xAE, (byte) 0x03, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code stmxcsr  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code stmxcsr   rbx[rsi * 4]}
     */
    // Template#: 11993, Serial#: 11347
    public void stmxcsr(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0355((byte) 0xAE, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code stmxcsr  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code stmxcsr   rbx[rsi * 4]}
     */
    // Template#: 11994, Serial#: 11387
    public void stmxcsr_r11387(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0356((byte) 0xAE, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code stmxcsr  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code stmxcsr   rbx[rsi * 4]}
     */
    // Template#: 11995, Serial#: 11427
    public void stmxcsr_r11427(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0357((byte) 0xAE, (byte) 0x03, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code stmxcsr  }<i>destination</i>
     * Example disassembly syntax: {@code stmxcsr   [rbx]}
     */
    // Template#: 11996, Serial#: 11346
    public void stmxcsr(AMD64IndirectRegister64 destination) {
        assemble0358((byte) 0xAE, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code stmxcsr  }<i>destination</i>
     * Example disassembly syntax: {@code stmxcsr   [rbx]}
     */
    // Template#: 11997, Serial#: 11386
    public void stmxcsr_r11386(AMD64IndirectRegister64 destination) {
        assemble0359((byte) 0xAE, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code stmxcsr  }<i>destination</i>
     * Example disassembly syntax: {@code stmxcsr   [rbx]}
     */
    // Template#: 11998, Serial#: 11426
    public void stmxcsr_r11426(AMD64IndirectRegister64 destination) {
        assemble0360((byte) 0xAE, (byte) 0x03, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code stmxcsr  }<i>rel32</i>
     * Example disassembly syntax: {@code stmxcsr   [L1: +305419896]}
     */
    // Template#: 11999, Serial#: 11349
    public void rip_stmxcsr(int rel32) {
        assemble0361((byte) 0xAE, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code stmxcsr  }<i>rel32</i>
     * Example disassembly syntax: {@code stmxcsr   [L1: +305419896]}
     */
    // Template#: 12000, Serial#: 11389
    public void rip_stmxcsr_r11389(int rel32) {
        assemble0362((byte) 0xAE, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code stmxcsr  }<i>rel32</i>
     * Example disassembly syntax: {@code stmxcsr   [L1: +305419896]}
     */
    // Template#: 12001, Serial#: 11429
    public void rip_stmxcsr_r11429(int rel32) {
        assemble0363((byte) 0xAE, (byte) 0x03, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code stmxcsr  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code stmxcsr   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12002, Serial#: 11371
    public void stmxcsr(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0364((byte) 0xAE, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code stmxcsr  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code stmxcsr   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12003, Serial#: 11411
    public void stmxcsr_r11411(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0365((byte) 0xAE, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code stmxcsr  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code stmxcsr   rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12004, Serial#: 11451
    public void stmxcsr_r11451(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0366((byte) 0xAE, (byte) 0x03, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code stmxcsr  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code stmxcsr   0x12345678[rsi * 4]}
     */
    // Template#: 12005, Serial#: 11348
    public void m_stmxcsr(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0367((byte) 0xAE, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code stmxcsr  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code stmxcsr   0x12345678[rsi * 4]}
     */
    // Template#: 12006, Serial#: 11388
    public void m_stmxcsr_r11388(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0368((byte) 0xAE, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code stmxcsr  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code stmxcsr   0x12345678[rsi * 4]}
     */
    // Template#: 12007, Serial#: 11428
    public void m_stmxcsr_r11428(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0369((byte) 0xAE, (byte) 0x03, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code stmxcsr  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code stmxcsr   [rbx + 305419896]}
     */
    // Template#: 12008, Serial#: 11370
    public void stmxcsr(int disp32, AMD64IndirectRegister64 destination) {
        assemble0370((byte) 0xAE, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code stmxcsr  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code stmxcsr   [rbx + 305419896]}
     */
    // Template#: 12009, Serial#: 11410
    public void stmxcsr_r11410(int disp32, AMD64IndirectRegister64 destination) {
        assemble0371((byte) 0xAE, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code stmxcsr  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code stmxcsr   [rbx + 305419896]}
     */
    // Template#: 12010, Serial#: 11450
    public void stmxcsr_r11450(int disp32, AMD64IndirectRegister64 destination) {
        assemble0372((byte) 0xAE, (byte) 0x03, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code stosb  }
     * Example disassembly syntax: {@code stosb   }
     */
    // Template#: 12011, Serial#: 3880
    public void stosb() {
        assemble0208((byte) 0xAA);
    }

    /**
     * Pseudo-external assembler syntax: {@code stosb  }
     * Example disassembly syntax: {@code stosb   }
     */
    // Template#: 12012, Serial#: 3881
    public void stosb_r3881() {
        assemble0209((byte) 0xAA);
    }

    /**
     * Pseudo-external assembler syntax: {@code stosb  }
     * Example disassembly syntax: {@code stosb   }
     */
    // Template#: 12013, Serial#: 3882
    public void stosb_r3882() {
        assemble0210((byte) 0xAA);
    }

    /**
     * Pseudo-external assembler syntax: {@code stosl  }
     * Example disassembly syntax: {@code stosl   }
     */
    // Template#: 12014, Serial#: 3883
    public void stosl() {
        assemble0208((byte) 0xAB);
    }

    /**
     * Pseudo-external assembler syntax: {@code stosq  }
     * Example disassembly syntax: {@code stosq   }
     */
    // Template#: 12015, Serial#: 3884
    public void stosq() {
        assemble0209((byte) 0xAB);
    }

    /**
     * Pseudo-external assembler syntax: {@code stosw  }
     * Example disassembly syntax: {@code stosw   }
     */
    // Template#: 12016, Serial#: 3885
    public void stosw() {
        assemble0210((byte) 0xAB);
    }

    /**
     * Pseudo-external assembler syntax: {@code str  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code str       rbx[rsi * 4 + 18]}
     */
    // Template#: 12017, Serial#: 5510
    public void str(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0349((byte) 0x00, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code str  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code str       rbx[rsi * 4 + 18]}
     */
    // Template#: 12018, Serial#: 5562
    public void str_r5562(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0350((byte) 0x00, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code str  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code str       rbx[rsi * 4 + 18]}
     */
    // Template#: 12019, Serial#: 5614
    public void str_r5614(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0351((byte) 0x00, (byte) 0x01, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code str  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code str       [rbx + 18]}
     */
    // Template#: 12020, Serial#: 5509
    public void str(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0352((byte) 0x00, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code str  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code str       [rbx + 18]}
     */
    // Template#: 12021, Serial#: 5561
    public void str_r5561(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0353((byte) 0x00, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code str  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code str       [rbx + 18]}
     */
    // Template#: 12022, Serial#: 5613
    public void str_r5613(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0354((byte) 0x00, (byte) 0x01, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code str  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code str       rbx[rsi * 4]}
     */
    // Template#: 12023, Serial#: 5488
    public void str(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0355((byte) 0x00, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code str  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code str       rbx[rsi * 4]}
     */
    // Template#: 12024, Serial#: 5540
    public void str_r5540(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0356((byte) 0x00, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code str  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code str       rbx[rsi * 4]}
     */
    // Template#: 12025, Serial#: 5592
    public void str_r5592(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0357((byte) 0x00, (byte) 0x01, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code str  }<i>destination</i>
     * Example disassembly syntax: {@code str       ax}
     */
    // Template#: 12026, Serial#: 5644
    public void str(AMD64GeneralRegister16 destination) {
        assemble0697((byte) 0x00, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code str  }<i>destination</i>
     * Example disassembly syntax: {@code str       eax}
     */
    // Template#: 12027, Serial#: 5640
    public void str(AMD64GeneralRegister32 destination) {
        assemble1183((byte) 0x00, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code str  }<i>destination</i>
     * Example disassembly syntax: {@code str       rax}
     */
    // Template#: 12028, Serial#: 5642
    public void str(AMD64GeneralRegister64 destination) {
        assemble1184((byte) 0x00, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code str  }<i>destination</i>
     * Example disassembly syntax: {@code str       [rbx]}
     */
    // Template#: 12029, Serial#: 5487
    public void str(AMD64IndirectRegister64 destination) {
        assemble0358((byte) 0x00, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code str  }<i>destination</i>
     * Example disassembly syntax: {@code str       [rbx]}
     */
    // Template#: 12030, Serial#: 5539
    public void str_r5539(AMD64IndirectRegister64 destination) {
        assemble0359((byte) 0x00, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code str  }<i>destination</i>
     * Example disassembly syntax: {@code str       [rbx]}
     */
    // Template#: 12031, Serial#: 5591
    public void str_r5591(AMD64IndirectRegister64 destination) {
        assemble0360((byte) 0x00, (byte) 0x01, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code str  }<i>rel32</i>
     * Example disassembly syntax: {@code str       [L1: +305419896]}
     */
    // Template#: 12032, Serial#: 5490
    public void rip_str(int rel32) {
        assemble0361((byte) 0x00, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code str  }<i>rel32</i>
     * Example disassembly syntax: {@code str       [L1: +305419896]}
     */
    // Template#: 12033, Serial#: 5542
    public void rip_str_r5542(int rel32) {
        assemble0362((byte) 0x00, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code str  }<i>rel32</i>
     * Example disassembly syntax: {@code str       [L1: +305419896]}
     */
    // Template#: 12034, Serial#: 5594
    public void rip_str_r5594(int rel32) {
        assemble0363((byte) 0x00, (byte) 0x01, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code str  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code str       rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12035, Serial#: 5522
    public void str(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0364((byte) 0x00, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code str  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code str       rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12036, Serial#: 5574
    public void str_r5574(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0365((byte) 0x00, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code str  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code str       rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12037, Serial#: 5626
    public void str_r5626(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0366((byte) 0x00, (byte) 0x01, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code str  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code str       0x12345678[rsi * 4]}
     */
    // Template#: 12038, Serial#: 5489
    public void m_str(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0367((byte) 0x00, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code str  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code str       0x12345678[rsi * 4]}
     */
    // Template#: 12039, Serial#: 5541
    public void m_str_r5541(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0368((byte) 0x00, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code str  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code str       0x12345678[rsi * 4]}
     */
    // Template#: 12040, Serial#: 5593
    public void m_str_r5593(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0369((byte) 0x00, (byte) 0x01, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code str  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code str       [rbx + 305419896]}
     */
    // Template#: 12041, Serial#: 5521
    public void str(int disp32, AMD64IndirectRegister64 destination) {
        assemble0370((byte) 0x00, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code str  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code str       [rbx + 305419896]}
     */
    // Template#: 12042, Serial#: 5573
    public void str_r5573(int disp32, AMD64IndirectRegister64 destination) {
        assemble0371((byte) 0x00, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code str  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code str       [rbx + 305419896]}
     */
    // Template#: 12043, Serial#: 5625
    public void str_r5625(int disp32, AMD64IndirectRegister64 destination) {
        assemble0372((byte) 0x00, (byte) 0x01, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>imm8</i>
     * Example disassembly syntax: {@code sub       al, 0x12}
     */
    // Template#: 12044, Serial#: 3449
    public void sub_AL(byte imm8) {
        assemble0001((byte) 0x2C, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>imm8</i>
     * Example disassembly syntax: {@code sub       al, 0x12}
     */
    // Template#: 12045, Serial#: 3450
    public void sub_AL_r3450(byte imm8) {
        assemble0002((byte) 0x2C, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>imm8</i>
     * Example disassembly syntax: {@code sub       al, 0x12}
     */
    // Template#: 12046, Serial#: 3451
    public void sub_AL_r3451(byte imm8) {
        assemble0003((byte) 0x2C, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 12047, Serial#: 540
    public void subb(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0x80, (byte) 0x05, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 12048, Serial#: 612
    public void subb_r612(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0x80, (byte) 0x05, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 12049, Serial#: 684
    public void subb_r684(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0x80, (byte) 0x05, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subl      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 12050, Serial#: 972
    public void subl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0x83, (byte) 0x05, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subq      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 12051, Serial#: 1044
    public void subq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0x83, (byte) 0x05, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subw      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 12052, Serial#: 1116
    public void subw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0x83, (byte) 0x05, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       rbx[rsi * 4 + 18], ax}
     */
    // Template#: 12053, Serial#: 3391
    public void sub(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0007((byte) 0x29, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       rbx[rsi * 4 + 18], eax}
     */
    // Template#: 12054, Serial#: 3373
    public void sub(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0008((byte) 0x29, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       rbx[rsi * 4 + 18], rax}
     */
    // Template#: 12055, Serial#: 3382
    public void sub(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0009((byte) 0x29, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       rbx[rsi * 4 + 18], al}
     */
    // Template#: 12056, Serial#: 3346
    public void sub(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0010((byte) 0x28, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       rbx[rsi * 4 + 18], al}
     */
    // Template#: 12057, Serial#: 3355
    public void sub_r3355(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0011((byte) 0x28, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       rbx[rsi * 4 + 18], al}
     */
    // Template#: 12058, Serial#: 3364
    public void sub_r3364(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0012((byte) 0x28, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code subl      rbx[rsi * 4 + 18], 0x12345678}
     */
    // Template#: 12059, Serial#: 756
    public void subl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0013((byte) 0x81, (byte) 0x05, disp8, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code subq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code subq      rbx[rsi * 4 + 18], 0x12345678}
     */
    // Template#: 12060, Serial#: 828
    public void subq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0014((byte) 0x81, (byte) 0x05, disp8, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code subw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code subw      rbx[rsi * 4 + 18], 0x1234}
     */
    // Template#: 12061, Serial#: 900
    public void subw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0015((byte) 0x81, (byte) 0x05, disp8, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code subb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subb      [rbx + 18], 0x12}
     */
    // Template#: 12062, Serial#: 539
    public void subb(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0x80, (byte) 0x05, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subb      [rbx + 18], 0x12}
     */
    // Template#: 12063, Serial#: 611
    public void subb_r611(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0x80, (byte) 0x05, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subb      [rbx + 18], 0x12}
     */
    // Template#: 12064, Serial#: 683
    public void subb_r683(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0x80, (byte) 0x05, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subl  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subl      [rbx + 18], 0x12}
     */
    // Template#: 12065, Serial#: 971
    public void subl(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0x83, (byte) 0x05, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subq  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subq      [rbx + 18], 0x12}
     */
    // Template#: 12066, Serial#: 1043
    public void subq(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0x83, (byte) 0x05, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subw  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subw      [rbx + 18], 0x12}
     */
    // Template#: 12067, Serial#: 1115
    public void subw(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0x83, (byte) 0x05, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       [rbx + 18], ax}
     */
    // Template#: 12068, Serial#: 3390
    public void sub(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0019((byte) 0x29, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       [rbx + 18], eax}
     */
    // Template#: 12069, Serial#: 3372
    public void sub(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0020((byte) 0x29, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       [rbx + 18], rax}
     */
    // Template#: 12070, Serial#: 3381
    public void sub(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0021((byte) 0x29, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       [rbx + 18], al}
     */
    // Template#: 12071, Serial#: 3345
    public void sub(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0022((byte) 0x28, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       [rbx + 18], al}
     */
    // Template#: 12072, Serial#: 3354
    public void sub_r3354(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0023((byte) 0x28, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       [rbx + 18], al}
     */
    // Template#: 12073, Serial#: 3363
    public void sub_r3363(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0024((byte) 0x28, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subl  }<i>disp8</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code subl      [rbx + 18], 0x12345678}
     */
    // Template#: 12074, Serial#: 755
    public void subl(byte disp8, AMD64IndirectRegister64 destination, int imm32) {
        assemble0025((byte) 0x81, (byte) 0x05, disp8, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code subq  }<i>disp8</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code subq      [rbx + 18], 0x12345678}
     */
    // Template#: 12075, Serial#: 827
    public void subq(byte disp8, AMD64IndirectRegister64 destination, int imm32) {
        assemble0026((byte) 0x81, (byte) 0x05, disp8, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code subw  }<i>disp8</i>, <i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code subw      [rbx + 18], 0x1234}
     */
    // Template#: 12076, Serial#: 899
    public void subw(byte disp8, AMD64IndirectRegister64 destination, short imm16) {
        assemble0027((byte) 0x81, (byte) 0x05, disp8, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code subb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subb      rbx[rsi * 4], 0x12}
     */
    // Template#: 12077, Serial#: 518
    public void subb(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0x80, (byte) 0x05, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subb      rbx[rsi * 4], 0x12}
     */
    // Template#: 12078, Serial#: 590
    public void subb_r590(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0x80, (byte) 0x05, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subb      rbx[rsi * 4], 0x12}
     */
    // Template#: 12079, Serial#: 662
    public void subb_r662(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0x80, (byte) 0x05, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subl  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subl      rbx[rsi * 4], 0x12}
     */
    // Template#: 12080, Serial#: 950
    public void subl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0x83, (byte) 0x05, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subq      rbx[rsi * 4], 0x12}
     */
    // Template#: 12081, Serial#: 1022
    public void subq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0x83, (byte) 0x05, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subw  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subw      rbx[rsi * 4], 0x12}
     */
    // Template#: 12082, Serial#: 1094
    public void subw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0x83, (byte) 0x05, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       rbx[rsi * 4], ax}
     */
    // Template#: 12083, Serial#: 3387
    public void sub(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0031((byte) 0x29, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       rbx[rsi * 4], eax}
     */
    // Template#: 12084, Serial#: 3369
    public void sub(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0032((byte) 0x29, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       rbx[rsi * 4], rax}
     */
    // Template#: 12085, Serial#: 3378
    public void sub(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0033((byte) 0x29, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       rbx[rsi * 4], al}
     */
    // Template#: 12086, Serial#: 3342
    public void sub(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0034((byte) 0x28, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       rbx[rsi * 4], al}
     */
    // Template#: 12087, Serial#: 3351
    public void sub_r3351(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0035((byte) 0x28, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       rbx[rsi * 4], al}
     */
    // Template#: 12088, Serial#: 3360
    public void sub_r3360(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0036((byte) 0x28, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subl  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code subl      rbx[rsi * 4], 0x12345678}
     */
    // Template#: 12089, Serial#: 734
    public void subl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0037((byte) 0x81, (byte) 0x05, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code subq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code subq      rbx[rsi * 4], 0x12345678}
     */
    // Template#: 12090, Serial#: 806
    public void subq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0038((byte) 0x81, (byte) 0x05, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code subw  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code subw      rbx[rsi * 4], 0x1234}
     */
    // Template#: 12091, Serial#: 878
    public void subw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0039((byte) 0x81, (byte) 0x05, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code subw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subw      ax, 0x12}
     */
    // Template#: 12092, Serial#: 1142
    public void subw(AMD64GeneralRegister16 destination, byte imm8) {
        assemble0040((byte) 0x83, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sub       ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 12093, Serial#: 3445
    public void sub(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0041((byte) 0x2B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       ax, [rbx + 18]}
     */
    // Template#: 12094, Serial#: 3444
    public void sub(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0042((byte) 0x2B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sub       ax, rbx[rsi * 4]}
     */
    // Template#: 12095, Serial#: 3441
    public void sub(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0043((byte) 0x2B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       ax, ax}
     */
    // Template#: 12096, Serial#: 3394
    public void sub(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0044((byte) 0x29, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       ax, ax}
     */
    // Template#: 12097, Serial#: 3448
    public void sub_r3448(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0045((byte) 0x2B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       ax, [rbx]}
     */
    // Template#: 12098, Serial#: 3440
    public void sub(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0046((byte) 0x2B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code sub       ax, [L1: +305419896]}
     */
    // Template#: 12099, Serial#: 3443
    public void rip_sub(AMD64GeneralRegister16 destination, int rel32) {
        assemble0047((byte) 0x2B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sub       ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12100, Serial#: 3447
    public void sub(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0048((byte) 0x2B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sub       ax, 0x12345678[rsi * 4]}
     */
    // Template#: 12101, Serial#: 3442
    public void m_sub(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0049((byte) 0x2B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       ax, [rbx + 305419896]}
     */
    // Template#: 12102, Serial#: 3446
    public void sub(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0050((byte) 0x2B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subw  }<i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code subw      ax, 0x1234}
     */
    // Template#: 12103, Serial#: 926
    public void subw(AMD64GeneralRegister16 destination, short imm16) {
        assemble0051((byte) 0x81, (byte) 0x05, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code subl  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subl      eax, 0x12}
     */
    // Template#: 12104, Serial#: 998
    public void subl(AMD64GeneralRegister32 destination, byte imm8) {
        assemble0052((byte) 0x83, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sub       eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 12105, Serial#: 3427
    public void sub(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0053((byte) 0x2B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       eax, [rbx + 18]}
     */
    // Template#: 12106, Serial#: 3426
    public void sub(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0054((byte) 0x2B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sub       eax, rbx[rsi * 4]}
     */
    // Template#: 12107, Serial#: 3423
    public void sub(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0055((byte) 0x2B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       eax, eax}
     */
    // Template#: 12108, Serial#: 3376
    public void sub(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0056((byte) 0x29, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       eax, eax}
     */
    // Template#: 12109, Serial#: 3430
    public void sub_r3430(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0057((byte) 0x2B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       eax, [rbx]}
     */
    // Template#: 12110, Serial#: 3422
    public void sub(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0058((byte) 0x2B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subl  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code subl      eax, 0x12345678}
     */
    // Template#: 12111, Serial#: 782
    public void subl(AMD64GeneralRegister32 destination, int imm32) {
        assemble0060((byte) 0x81, (byte) 0x05, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code sub       eax, [L1: +305419896]}
     */
    // Template#: 12112, Serial#: 3425
    public void rip_sub(AMD64GeneralRegister32 destination, int rel32) {
        assemble0059((byte) 0x2B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sub       eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12113, Serial#: 3429
    public void sub(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0061((byte) 0x2B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sub       eax, 0x12345678[rsi * 4]}
     */
    // Template#: 12114, Serial#: 3424
    public void m_sub(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0062((byte) 0x2B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       eax, [rbx + 305419896]}
     */
    // Template#: 12115, Serial#: 3428
    public void sub(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0063((byte) 0x2B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subq      rax, 0x12}
     */
    // Template#: 12116, Serial#: 1070
    public void subq(AMD64GeneralRegister64 destination, byte imm8) {
        assemble0064((byte) 0x83, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sub       rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 12117, Serial#: 3436
    public void sub(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0065((byte) 0x2B, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       rax, [rbx + 18]}
     */
    // Template#: 12118, Serial#: 3435
    public void sub(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0066((byte) 0x2B, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sub       rax, rbx[rsi * 4]}
     */
    // Template#: 12119, Serial#: 3432
    public void sub(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0067((byte) 0x2B, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       rax, rax}
     */
    // Template#: 12120, Serial#: 3385
    public void sub(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0068((byte) 0x29, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       rax, rax}
     */
    // Template#: 12121, Serial#: 3439
    public void sub_r3439(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0069((byte) 0x2B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       rax, [rbx]}
     */
    // Template#: 12122, Serial#: 3431
    public void sub(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0070((byte) 0x2B, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subq  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code subq      rax, 0x12345678}
     */
    // Template#: 12123, Serial#: 854
    public void subq(AMD64GeneralRegister64 destination, int imm32) {
        assemble0072((byte) 0x81, (byte) 0x05, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code sub       rax, [L1: +305419896]}
     */
    // Template#: 12124, Serial#: 3434
    public void rip_sub(AMD64GeneralRegister64 destination, int rel32) {
        assemble0071((byte) 0x2B, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sub       rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12125, Serial#: 3438
    public void sub(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0073((byte) 0x2B, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sub       rax, 0x12345678[rsi * 4]}
     */
    // Template#: 12126, Serial#: 3433
    public void m_sub(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0074((byte) 0x2B, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       rax, [rbx + 305419896]}
     */
    // Template#: 12127, Serial#: 3437
    public void sub(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0075((byte) 0x2B, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subb      al, 0x12}
     */
    // Template#: 12128, Serial#: 566
    public void subb(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0076((byte) 0x80, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subb      al, 0x12}
     */
    // Template#: 12129, Serial#: 638
    public void subb_r638(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0077((byte) 0x80, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subb      al, 0x12}
     */
    // Template#: 12130, Serial#: 710
    public void subb_r710(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0078((byte) 0x80, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sub       al, rbx[rsi * 4 + 18]}
     */
    // Template#: 12131, Serial#: 3400
    public void sub(AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0079((byte) 0x2A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sub       al, rbx[rsi * 4 + 18]}
     */
    // Template#: 12132, Serial#: 3409
    public void sub_r3409(AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0080((byte) 0x2A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sub       al, rbx[rsi * 4 + 18]}
     */
    // Template#: 12133, Serial#: 3418
    public void sub_r3418(AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0081((byte) 0x2A, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       al, [rbx + 18]}
     */
    // Template#: 12134, Serial#: 3399
    public void sub(AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0082((byte) 0x2A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       al, [rbx + 18]}
     */
    // Template#: 12135, Serial#: 3408
    public void sub_r3408(AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0083((byte) 0x2A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       al, [rbx + 18]}
     */
    // Template#: 12136, Serial#: 3417
    public void sub_r3417(AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0084((byte) 0x2A, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sub       al, rbx[rsi * 4]}
     */
    // Template#: 12137, Serial#: 3396
    public void sub(AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0085((byte) 0x2A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sub       al, rbx[rsi * 4]}
     */
    // Template#: 12138, Serial#: 3405
    public void sub_r3405(AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0086((byte) 0x2A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sub       al, rbx[rsi * 4]}
     */
    // Template#: 12139, Serial#: 3414
    public void sub_r3414(AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0087((byte) 0x2A, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       al, al}
     */
    // Template#: 12140, Serial#: 3349
    public void sub(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0088((byte) 0x28, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       al, al}
     */
    // Template#: 12141, Serial#: 3358
    public void sub_r3358(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0089((byte) 0x28, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       al, al}
     */
    // Template#: 12142, Serial#: 3367
    public void sub_r3367(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0090((byte) 0x28, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       al, al}
     */
    // Template#: 12143, Serial#: 3403
    public void sub_r3403(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0091((byte) 0x2A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       al, al}
     */
    // Template#: 12144, Serial#: 3412
    public void sub_r3412(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0092((byte) 0x2A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       al, al}
     */
    // Template#: 12145, Serial#: 3421
    public void sub_r3421(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0093((byte) 0x2A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       al, [rbx]}
     */
    // Template#: 12146, Serial#: 3395
    public void sub(AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        assemble0094((byte) 0x2A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       al, [rbx]}
     */
    // Template#: 12147, Serial#: 3404
    public void sub_r3404(AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        assemble0095((byte) 0x2A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       al, [rbx]}
     */
    // Template#: 12148, Serial#: 3413
    public void sub_r3413(AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        assemble0096((byte) 0x2A, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code sub       al, [L1: +305419896]}
     */
    // Template#: 12149, Serial#: 3398
    public void rip_sub(AMD64GeneralRegister8 destination, int rel32) {
        assemble0097((byte) 0x2A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code sub       al, [L1: +305419896]}
     */
    // Template#: 12150, Serial#: 3407
    public void rip_sub_r3407(AMD64GeneralRegister8 destination, int rel32) {
        assemble0098((byte) 0x2A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code sub       al, [L1: +305419896]}
     */
    // Template#: 12151, Serial#: 3416
    public void rip_sub_r3416(AMD64GeneralRegister8 destination, int rel32) {
        assemble0099((byte) 0x2A, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sub       al, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12152, Serial#: 3402
    public void sub(AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0100((byte) 0x2A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sub       al, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12153, Serial#: 3411
    public void sub_r3411(AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0101((byte) 0x2A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sub       al, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12154, Serial#: 3420
    public void sub_r3420(AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0102((byte) 0x2A, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sub       al, 0x12345678[rsi * 4]}
     */
    // Template#: 12155, Serial#: 3397
    public void m_sub(AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0103((byte) 0x2A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sub       al, 0x12345678[rsi * 4]}
     */
    // Template#: 12156, Serial#: 3406
    public void m_sub_r3406(AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0104((byte) 0x2A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code sub       al, 0x12345678[rsi * 4]}
     */
    // Template#: 12157, Serial#: 3415
    public void m_sub_r3415(AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0105((byte) 0x2A, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       al, [rbx + 305419896]}
     */
    // Template#: 12158, Serial#: 3401
    public void sub(AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0106((byte) 0x2A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       al, [rbx + 305419896]}
     */
    // Template#: 12159, Serial#: 3410
    public void sub_r3410(AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0107((byte) 0x2A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       al, [rbx + 305419896]}
     */
    // Template#: 12160, Serial#: 3419
    public void sub_r3419(AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0108((byte) 0x2A, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subb      [rbx], 0x12}
     */
    // Template#: 12161, Serial#: 517
    public void subb(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0x80, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subb      [rbx], 0x12}
     */
    // Template#: 12162, Serial#: 589
    public void subb_r589(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0x80, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subb      [rbx], 0x12}
     */
    // Template#: 12163, Serial#: 661
    public void subb_r661(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0x80, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subl  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subl      [rbx], 0x12}
     */
    // Template#: 12164, Serial#: 949
    public void subl(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0x83, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subq      [rbx], 0x12}
     */
    // Template#: 12165, Serial#: 1021
    public void subq(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0x83, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subw      [rbx], 0x12}
     */
    // Template#: 12166, Serial#: 1093
    public void subw(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0x83, (byte) 0x05, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       [rbx], ax}
     */
    // Template#: 12167, Serial#: 3386
    public void sub(AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0112((byte) 0x29, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       [rbx], eax}
     */
    // Template#: 12168, Serial#: 3368
    public void sub(AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0113((byte) 0x29, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       [rbx], rax}
     */
    // Template#: 12169, Serial#: 3377
    public void sub(AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0114((byte) 0x29, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       [rbx], al}
     */
    // Template#: 12170, Serial#: 3341
    public void sub(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0115((byte) 0x28, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       [rbx], al}
     */
    // Template#: 12171, Serial#: 3350
    public void sub_r3350(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0116((byte) 0x28, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       [rbx], al}
     */
    // Template#: 12172, Serial#: 3359
    public void sub_r3359(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0117((byte) 0x28, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subl  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code subl      [rbx], 0x12345678}
     */
    // Template#: 12173, Serial#: 733
    public void subl(AMD64IndirectRegister64 destination, int imm32) {
        assemble0118((byte) 0x81, (byte) 0x05, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code subq  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code subq      [rbx], 0x12345678}
     */
    // Template#: 12174, Serial#: 805
    public void subq(AMD64IndirectRegister64 destination, int imm32) {
        assemble0119((byte) 0x81, (byte) 0x05, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code subw  }<i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code subw      [rbx], 0x1234}
     */
    // Template#: 12175, Serial#: 877
    public void subw(AMD64IndirectRegister64 destination, short imm16) {
        assemble0120((byte) 0x81, (byte) 0x05, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>imm32</i>
     * Example disassembly syntax: {@code sub       eax, 0x12345678}
     */
    // Template#: 12176, Serial#: 3452
    public void sub_EAX(int imm32) {
        assemble0121((byte) 0x2D, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>imm32</i>
     * Example disassembly syntax: {@code sub       rax, 0x12345678}
     */
    // Template#: 12177, Serial#: 3453
    public void sub_RAX(int imm32) {
        assemble0122((byte) 0x2D, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code subb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subb      [L1: +305419896], 0x12}
     */
    // Template#: 12178, Serial#: 520
    public void rip_subb(int rel32, byte imm8) {
        assemble0123((byte) 0x80, (byte) 0x05, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subb      [L1: +305419896], 0x12}
     */
    // Template#: 12179, Serial#: 592
    public void rip_subb_r592(int rel32, byte imm8) {
        assemble0124((byte) 0x80, (byte) 0x05, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subb      [L1: +305419896], 0x12}
     */
    // Template#: 12180, Serial#: 664
    public void rip_subb_r664(int rel32, byte imm8) {
        assemble0125((byte) 0x80, (byte) 0x05, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subl  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subl      [L1: +305419896], 0x12}
     */
    // Template#: 12181, Serial#: 952
    public void rip_subl(int rel32, byte imm8) {
        assemble0123((byte) 0x83, (byte) 0x05, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subq  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subq      [L1: +305419896], 0x12}
     */
    // Template#: 12182, Serial#: 1024
    public void rip_subq(int rel32, byte imm8) {
        assemble0124((byte) 0x83, (byte) 0x05, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subw  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subw      [L1: +305419896], 0x12}
     */
    // Template#: 12183, Serial#: 1096
    public void rip_subw(int rel32, byte imm8) {
        assemble0125((byte) 0x83, (byte) 0x05, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 12184, Serial#: 556
    public void subb(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0x80, (byte) 0x05, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 12185, Serial#: 628
    public void subb_r628(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0x80, (byte) 0x05, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 12186, Serial#: 700
    public void subb_r700(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0x80, (byte) 0x05, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subl      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 12187, Serial#: 988
    public void subl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0x83, (byte) 0x05, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subq      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 12188, Serial#: 1060
    public void subq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0x83, (byte) 0x05, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subw      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 12189, Serial#: 1132
    public void subw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0x83, (byte) 0x05, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       rbx[rsi * 4 + 305419896], ax}
     */
    // Template#: 12190, Serial#: 3393
    public void sub(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0129((byte) 0x29, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       rbx[rsi * 4 + 305419896], eax}
     */
    // Template#: 12191, Serial#: 3375
    public void sub(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0130((byte) 0x29, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       rbx[rsi * 4 + 305419896], rax}
     */
    // Template#: 12192, Serial#: 3384
    public void sub(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0131((byte) 0x29, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 12193, Serial#: 3348
    public void sub(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0132((byte) 0x28, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 12194, Serial#: 3357
    public void sub_r3357(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0133((byte) 0x28, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 12195, Serial#: 3366
    public void sub_r3366(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0134((byte) 0x28, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code subl      rbx[rsi * 4 + 305419896], 0x12345678}
     */
    // Template#: 12196, Serial#: 772
    public void subl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0135((byte) 0x81, (byte) 0x05, disp32, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code subq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code subq      rbx[rsi * 4 + 305419896], 0x12345678}
     */
    // Template#: 12197, Serial#: 844
    public void subq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0136((byte) 0x81, (byte) 0x05, disp32, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code subw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code subw      rbx[rsi * 4 + 305419896], 0x1234}
     */
    // Template#: 12198, Serial#: 916
    public void subw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0137((byte) 0x81, (byte) 0x05, disp32, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       [L1: +305419896], ax}
     */
    // Template#: 12199, Serial#: 3389
    public void rip_sub(int rel32, AMD64GeneralRegister16 source) {
        assemble0138((byte) 0x29, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       [L1: +305419896], eax}
     */
    // Template#: 12200, Serial#: 3371
    public void rip_sub(int rel32, AMD64GeneralRegister32 source) {
        assemble0139((byte) 0x29, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       [L1: +305419896], rax}
     */
    // Template#: 12201, Serial#: 3380
    public void rip_sub(int rel32, AMD64GeneralRegister64 source) {
        assemble0140((byte) 0x29, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       [L1: +305419896], al}
     */
    // Template#: 12202, Serial#: 3344
    public void rip_sub(int rel32, AMD64GeneralRegister8 source) {
        assemble0141((byte) 0x28, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       [L1: +305419896], al}
     */
    // Template#: 12203, Serial#: 3353
    public void rip_sub_r3353(int rel32, AMD64GeneralRegister8 source) {
        assemble0142((byte) 0x28, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       [L1: +305419896], al}
     */
    // Template#: 12204, Serial#: 3362
    public void rip_sub_r3362(int rel32, AMD64GeneralRegister8 source) {
        assemble0143((byte) 0x28, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 12205, Serial#: 519
    public void m_subb(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0x80, (byte) 0x05, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 12206, Serial#: 591
    public void m_subb_r591(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0x80, (byte) 0x05, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 12207, Serial#: 663
    public void m_subb_r663(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0x80, (byte) 0x05, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subl  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subl      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 12208, Serial#: 951
    public void m_subl(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0x83, (byte) 0x05, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subq      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 12209, Serial#: 1023
    public void m_subq(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0x83, (byte) 0x05, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subw  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subw      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 12210, Serial#: 1095
    public void m_subw(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0x83, (byte) 0x05, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       0x12345678[rsi * 4], ax}
     */
    // Template#: 12211, Serial#: 3388
    public void m_sub(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0147((byte) 0x29, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       0x12345678[rsi * 4], eax}
     */
    // Template#: 12212, Serial#: 3370
    public void m_sub(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0148((byte) 0x29, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       0x12345678[rsi * 4], rax}
     */
    // Template#: 12213, Serial#: 3379
    public void m_sub(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0149((byte) 0x29, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       0x12345678[rsi * 4], al}
     */
    // Template#: 12214, Serial#: 3343
    public void m_sub(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0150((byte) 0x28, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       0x12345678[rsi * 4], al}
     */
    // Template#: 12215, Serial#: 3352
    public void m_sub_r3352(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0151((byte) 0x28, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       0x12345678[rsi * 4], al}
     */
    // Template#: 12216, Serial#: 3361
    public void m_sub_r3361(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0152((byte) 0x28, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subl  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code subl      0x12345678[rsi * 4], 0x12345678}
     */
    // Template#: 12217, Serial#: 735
    public void m_subl(int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0153((byte) 0x81, (byte) 0x05, m32, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code subq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code subq      0x12345678[rsi * 4], 0x12345678}
     */
    // Template#: 12218, Serial#: 807
    public void m_subq(int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0154((byte) 0x81, (byte) 0x05, m32, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code subw  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code subw      0x12345678[rsi * 4], 0x1234}
     */
    // Template#: 12219, Serial#: 879
    public void m_subw(int m32, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0155((byte) 0x81, (byte) 0x05, m32, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code subb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subb      [rbx + 305419896], 0x12}
     */
    // Template#: 12220, Serial#: 555
    public void subb(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0x80, (byte) 0x05, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subb      [rbx + 305419896], 0x12}
     */
    // Template#: 12221, Serial#: 627
    public void subb_r627(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0x80, (byte) 0x05, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subb      [rbx + 305419896], 0x12}
     */
    // Template#: 12222, Serial#: 699
    public void subb_r699(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0x80, (byte) 0x05, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subl  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subl      [rbx + 305419896], 0x12}
     */
    // Template#: 12223, Serial#: 987
    public void subl(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0x83, (byte) 0x05, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subq  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subq      [rbx + 305419896], 0x12}
     */
    // Template#: 12224, Serial#: 1059
    public void subq(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0x83, (byte) 0x05, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code subw  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code subw      [rbx + 305419896], 0x12}
     */
    // Template#: 12225, Serial#: 1131
    public void subw(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0x83, (byte) 0x05, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       [rbx + 305419896], ax}
     */
    // Template#: 12226, Serial#: 3392
    public void sub(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0159((byte) 0x29, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       [rbx + 305419896], eax}
     */
    // Template#: 12227, Serial#: 3374
    public void sub(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0160((byte) 0x29, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       [rbx + 305419896], rax}
     */
    // Template#: 12228, Serial#: 3383
    public void sub(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0161((byte) 0x29, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       [rbx + 305419896], al}
     */
    // Template#: 12229, Serial#: 3347
    public void sub(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0162((byte) 0x28, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       [rbx + 305419896], al}
     */
    // Template#: 12230, Serial#: 3356
    public void sub_r3356(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0163((byte) 0x28, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code sub       [rbx + 305419896], al}
     */
    // Template#: 12231, Serial#: 3365
    public void sub_r3365(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0164((byte) 0x28, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subl  }<i>disp32</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code subl      [rbx + 305419896], 0x12345678}
     */
    // Template#: 12232, Serial#: 771
    public void subl(int disp32, AMD64IndirectRegister64 destination, int imm32) {
        assemble0165((byte) 0x81, (byte) 0x05, disp32, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code subq  }<i>disp32</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code subq      [rbx + 305419896], 0x12345678}
     */
    // Template#: 12233, Serial#: 843
    public void subq(int disp32, AMD64IndirectRegister64 destination, int imm32) {
        assemble0166((byte) 0x81, (byte) 0x05, disp32, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code subw  }<i>disp32</i>, <i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code subw      [rbx + 305419896], 0x1234}
     */
    // Template#: 12234, Serial#: 915
    public void subw(int disp32, AMD64IndirectRegister64 destination, short imm16) {
        assemble0167((byte) 0x81, (byte) 0x05, disp32, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code subl  }<i>rel32</i>, <i>imm32</i>
     * Example disassembly syntax: {@code subl      [L1: +305419896], 0x12345678}
     */
    // Template#: 12235, Serial#: 736
    public void rip_subl(int rel32, int imm32) {
        assemble0168((byte) 0x81, (byte) 0x05, rel32, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code subq  }<i>rel32</i>, <i>imm32</i>
     * Example disassembly syntax: {@code subq      [L1: +305419896], 0x12345678}
     */
    // Template#: 12236, Serial#: 808
    public void rip_subq(int rel32, int imm32) {
        assemble0169((byte) 0x81, (byte) 0x05, rel32, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code subw  }<i>rel32</i>, <i>imm16</i>
     * Example disassembly syntax: {@code subw      [L1: +305419896], 0x1234}
     */
    // Template#: 12237, Serial#: 880
    public void rip_subw(int rel32, short imm16) {
        assemble0170((byte) 0x81, (byte) 0x05, rel32, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code sub  }<i>imm16</i>
     * Example disassembly syntax: {@code sub       ax, 0x1234}
     */
    // Template#: 12238, Serial#: 3454
    public void sub_AX(short imm16) {
        assemble0171((byte) 0x2D, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code subpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subpd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 12239, Serial#: 10181
    public void subpd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x5C, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subpd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 12240, Serial#: 10190
    public void subpd_r10190(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x5C, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code subpd     xmm0, [rbx + 18]}
     */
    // Template#: 12241, Serial#: 10180
    public void subpd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x5C, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code subpd     xmm0, [rbx + 18]}
     */
    // Template#: 12242, Serial#: 10189
    public void subpd_r10189(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x5C, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subpd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 12243, Serial#: 10177
    public void subpd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x5C, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subpd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 12244, Serial#: 10186
    public void subpd_r10186(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x5C, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code subpd     xmm0, [rbx]}
     */
    // Template#: 12245, Serial#: 10176
    public void subpd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x5C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code subpd     xmm0, [rbx]}
     */
    // Template#: 12246, Serial#: 10185
    public void subpd_r10185(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x5C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code subpd     xmm0, xmm0}
     */
    // Template#: 12247, Serial#: 10184
    public void subpd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x5C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code subpd     xmm0, xmm0}
     */
    // Template#: 12248, Serial#: 10193
    public void subpd_r10193(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x5C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code subpd     xmm0, [L1: +305419896]}
     */
    // Template#: 12249, Serial#: 10179
    public void rip_subpd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x5C, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code subpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code subpd     xmm0, [L1: +305419896]}
     */
    // Template#: 12250, Serial#: 10188
    public void rip_subpd_r10188(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x5C, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code subpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subpd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12251, Serial#: 10183
    public void subpd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x5C, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subpd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12252, Serial#: 10192
    public void subpd_r10192(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x5C, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subpd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 12253, Serial#: 10178
    public void m_subpd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x5C, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subpd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 12254, Serial#: 10187
    public void m_subpd_r10187(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x5C, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code subpd     xmm0, [rbx + 305419896]}
     */
    // Template#: 12255, Serial#: 10182
    public void subpd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x5C, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code subpd     xmm0, [rbx + 305419896]}
     */
    // Template#: 12256, Serial#: 10191
    public void subpd_r10191(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x5C, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subps     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 12257, Serial#: 10037
    public void subps(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0190((byte) 0x5C, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subps     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 12258, Serial#: 10046
    public void subps_r10046(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0191((byte) 0x5C, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code subps     xmm0, [rbx + 18]}
     */
    // Template#: 12259, Serial#: 10036
    public void subps(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0192((byte) 0x5C, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code subps     xmm0, [rbx + 18]}
     */
    // Template#: 12260, Serial#: 10045
    public void subps_r10045(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0193((byte) 0x5C, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subps     xmm0, rbx[rsi * 4]}
     */
    // Template#: 12261, Serial#: 10033
    public void subps(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0194((byte) 0x5C, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subps     xmm0, rbx[rsi * 4]}
     */
    // Template#: 12262, Serial#: 10042
    public void subps_r10042(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0195((byte) 0x5C, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code subps     xmm0, [rbx]}
     */
    // Template#: 12263, Serial#: 10032
    public void subps(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0196((byte) 0x5C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code subps     xmm0, [rbx]}
     */
    // Template#: 12264, Serial#: 10041
    public void subps_r10041(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0197((byte) 0x5C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code subps     xmm0, xmm0}
     */
    // Template#: 12265, Serial#: 10040
    public void subps(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0198((byte) 0x5C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code subps     xmm0, xmm0}
     */
    // Template#: 12266, Serial#: 10049
    public void subps_r10049(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0199((byte) 0x5C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code subps     xmm0, [L1: +305419896]}
     */
    // Template#: 12267, Serial#: 10035
    public void rip_subps(AMD64XMMRegister destination, int rel32) {
        assemble0200((byte) 0x5C, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code subps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code subps     xmm0, [L1: +305419896]}
     */
    // Template#: 12268, Serial#: 10044
    public void rip_subps_r10044(AMD64XMMRegister destination, int rel32) {
        assemble0201((byte) 0x5C, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code subps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subps     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12269, Serial#: 10039
    public void subps(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0202((byte) 0x5C, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subps     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12270, Serial#: 10048
    public void subps_r10048(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0203((byte) 0x5C, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subps     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 12271, Serial#: 10034
    public void m_subps(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0204((byte) 0x5C, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subps     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 12272, Serial#: 10043
    public void m_subps_r10043(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0205((byte) 0x5C, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code subps     xmm0, [rbx + 305419896]}
     */
    // Template#: 12273, Serial#: 10038
    public void subps(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0206((byte) 0x5C, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code subps     xmm0, [rbx + 305419896]}
     */
    // Template#: 12274, Serial#: 10047
    public void subps_r10047(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0207((byte) 0x5C, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subsd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subsd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 12275, Serial#: 10307
    public void subsd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0211((byte) 0x5C, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subsd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subsd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 12276, Serial#: 10316
    public void subsd_r10316(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0212((byte) 0x5C, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subsd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code subsd     xmm0, [rbx + 18]}
     */
    // Template#: 12277, Serial#: 10306
    public void subsd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0213((byte) 0x5C, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subsd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code subsd     xmm0, [rbx + 18]}
     */
    // Template#: 12278, Serial#: 10315
    public void subsd_r10315(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0214((byte) 0x5C, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subsd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subsd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 12279, Serial#: 10303
    public void subsd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0215((byte) 0x5C, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subsd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subsd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 12280, Serial#: 10312
    public void subsd_r10312(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0216((byte) 0x5C, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code subsd     xmm0, [rbx]}
     */
    // Template#: 12281, Serial#: 10302
    public void subsd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0217((byte) 0x5C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code subsd     xmm0, [rbx]}
     */
    // Template#: 12282, Serial#: 10311
    public void subsd_r10311(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0218((byte) 0x5C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code subsd     xmm0, xmm0}
     */
    // Template#: 12283, Serial#: 10310
    public void subsd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0219((byte) 0x5C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subsd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code subsd     xmm0, xmm0}
     */
    // Template#: 12284, Serial#: 10319
    public void subsd_r10319(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0220((byte) 0x5C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subsd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code subsd     xmm0, [L1: +305419896]}
     */
    // Template#: 12285, Serial#: 10305
    public void rip_subsd(AMD64XMMRegister destination, int rel32) {
        assemble0221((byte) 0x5C, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code subsd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code subsd     xmm0, [L1: +305419896]}
     */
    // Template#: 12286, Serial#: 10314
    public void rip_subsd_r10314(AMD64XMMRegister destination, int rel32) {
        assemble0222((byte) 0x5C, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code subsd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subsd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12287, Serial#: 10309
    public void subsd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0223((byte) 0x5C, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subsd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subsd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12288, Serial#: 10318
    public void subsd_r10318(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0224((byte) 0x5C, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subsd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subsd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 12289, Serial#: 10304
    public void m_subsd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0225((byte) 0x5C, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subsd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subsd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 12290, Serial#: 10313
    public void m_subsd_r10313(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0226((byte) 0x5C, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subsd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code subsd     xmm0, [rbx + 305419896]}
     */
    // Template#: 12291, Serial#: 10308
    public void subsd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0227((byte) 0x5C, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subsd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code subsd     xmm0, [rbx + 305419896]}
     */
    // Template#: 12292, Serial#: 10317
    public void subsd_r10317(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0228((byte) 0x5C, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subss     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 12293, Serial#: 10451
    public void subss(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0229((byte) 0x5C, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subss     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 12294, Serial#: 10460
    public void subss_r10460(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0230((byte) 0x5C, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subss  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code subss     xmm0, [rbx + 18]}
     */
    // Template#: 12295, Serial#: 10450
    public void subss(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0231((byte) 0x5C, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subss  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code subss     xmm0, [rbx + 18]}
     */
    // Template#: 12296, Serial#: 10459
    public void subss_r10459(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0232((byte) 0x5C, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subss     xmm0, rbx[rsi * 4]}
     */
    // Template#: 12297, Serial#: 10447
    public void subss(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0233((byte) 0x5C, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subss     xmm0, rbx[rsi * 4]}
     */
    // Template#: 12298, Serial#: 10456
    public void subss_r10456(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0234((byte) 0x5C, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code subss     xmm0, [rbx]}
     */
    // Template#: 12299, Serial#: 10446
    public void subss(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0235((byte) 0x5C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code subss     xmm0, [rbx]}
     */
    // Template#: 12300, Serial#: 10455
    public void subss_r10455(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0236((byte) 0x5C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code subss     xmm0, xmm0}
     */
    // Template#: 12301, Serial#: 10454
    public void subss(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0237((byte) 0x5C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code subss     xmm0, xmm0}
     */
    // Template#: 12302, Serial#: 10463
    public void subss_r10463(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0238((byte) 0x5C, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subss  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code subss     xmm0, [L1: +305419896]}
     */
    // Template#: 12303, Serial#: 10449
    public void rip_subss(AMD64XMMRegister destination, int rel32) {
        assemble0239((byte) 0x5C, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code subss  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code subss     xmm0, [L1: +305419896]}
     */
    // Template#: 12304, Serial#: 10458
    public void rip_subss_r10458(AMD64XMMRegister destination, int rel32) {
        assemble0240((byte) 0x5C, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code subss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subss     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12305, Serial#: 10453
    public void subss(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0241((byte) 0x5C, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subss     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12306, Serial#: 10462
    public void subss_r10462(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0242((byte) 0x5C, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subss     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 12307, Serial#: 10448
    public void m_subss(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0243((byte) 0x5C, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code subss     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 12308, Serial#: 10457
    public void m_subss_r10457(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0244((byte) 0x5C, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code subss  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code subss     xmm0, [rbx + 305419896]}
     */
    // Template#: 12309, Serial#: 10452
    public void subss(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0245((byte) 0x5C, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code subss  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code subss     xmm0, [rbx + 305419896]}
     */
    // Template#: 12310, Serial#: 10461
    public void subss_r10461(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0246((byte) 0x5C, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code swapgs  }
     * Example disassembly syntax: {@code swapgs  }
     */
    // Template#: 12311, Serial#: 5817
    public void swapgs() {
        assemble0692((byte) 0x01, (byte) 0x07);
    }

    /**
     * Pseudo-external assembler syntax: {@code swapgs  }
     * Example disassembly syntax: {@code swapgs  }
     */
    // Template#: 12312, Serial#: 5819
    public void swapgs_r5819() {
        assemble0693((byte) 0x01, (byte) 0x07);
    }

    /**
     * Pseudo-external assembler syntax: {@code swapgs  }
     * Example disassembly syntax: {@code swapgs  }
     */
    // Template#: 12313, Serial#: 5821
    public void swapgs_r5821() {
        assemble0694((byte) 0x01, (byte) 0x07);
    }

    /**
     * Pseudo-external assembler syntax: {@code syscall  }
     * Example disassembly syntax: {@code syscall }
     */
    // Template#: 12314, Serial#: 5876
    public void syscall() {
        assemble0373((byte) 0x05);
    }

    /**
     * Pseudo-external assembler syntax: {@code syscall  }
     * Example disassembly syntax: {@code syscall }
     */
    // Template#: 12315, Serial#: 5877
    public void syscall_r5877() {
        assemble0374((byte) 0x05);
    }

    /**
     * Pseudo-external assembler syntax: {@code syscall  }
     * Example disassembly syntax: {@code syscall }
     */
    // Template#: 12316, Serial#: 5878
    public void syscall_r5878() {
        assemble0375((byte) 0x05);
    }

    /**
     * Pseudo-external assembler syntax: {@code sysret  }
     * Example disassembly syntax: {@code sysret  }
     */
    // Template#: 12317, Serial#: 5882
    public void sysret() {
        assemble0373((byte) 0x07);
    }

    /**
     * Pseudo-external assembler syntax: {@code sysret  }
     * Example disassembly syntax: {@code sysret  }
     */
    // Template#: 12318, Serial#: 5883
    public void sysret_r5883() {
        assemble0374((byte) 0x07);
    }

    /**
     * Pseudo-external assembler syntax: {@code sysret  }
     * Example disassembly syntax: {@code sysret  }
     */
    // Template#: 12319, Serial#: 5884
    public void sysret_r5884() {
        assemble0375((byte) 0x07);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>imm8</i>
     * Example disassembly syntax: {@code test      al, 0x12}
     */
    // Template#: 12320, Serial#: 3874
    public void test_AL(byte imm8) {
        assemble0001((byte) 0xA8, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>imm8</i>
     * Example disassembly syntax: {@code test      al, 0x12}
     */
    // Template#: 12321, Serial#: 3875
    public void test_AL_r3875(byte imm8) {
        assemble0002((byte) 0xA8, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>imm8</i>
     * Example disassembly syntax: {@code test      al, 0x12}
     */
    // Template#: 12322, Serial#: 3876
    public void test_AL_r3876(byte imm8) {
        assemble0003((byte) 0xA8, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 12323, Serial#: 2714
    public void testb(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0xF6, (byte) 0x00, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 12324, Serial#: 2716
    public void testb_r2716(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0xF6, (byte) 0x01, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 12325, Serial#: 2786
    public void testb_r2786(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0xF6, (byte) 0x00, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 12326, Serial#: 2788
    public void testb_r2788(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0xF6, (byte) 0x01, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 12327, Serial#: 2858
    public void testb_r2858(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0xF6, (byte) 0x00, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 12328, Serial#: 2860
    public void testb_r2860(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0xF6, (byte) 0x01, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code test      rbx[rsi * 4 + 18], ax}
     */
    // Template#: 12329, Serial#: 1195
    public void test(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0007((byte) 0x85, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code test      rbx[rsi * 4 + 18], eax}
     */
    // Template#: 12330, Serial#: 1177
    public void test(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0008((byte) 0x85, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code test      rbx[rsi * 4 + 18], rax}
     */
    // Template#: 12331, Serial#: 1186
    public void test(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0009((byte) 0x85, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code test      rbx[rsi * 4 + 18], al}
     */
    // Template#: 12332, Serial#: 1150
    public void test(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0010((byte) 0x84, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code test      rbx[rsi * 4 + 18], al}
     */
    // Template#: 12333, Serial#: 1159
    public void test_r1159(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0011((byte) 0x84, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code test      rbx[rsi * 4 + 18], al}
     */
    // Template#: 12334, Serial#: 1168
    public void test_r1168(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0012((byte) 0x84, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code testl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testl     rbx[rsi * 4 + 18], 0x12345678}
     */
    // Template#: 12335, Serial#: 2930
    public void testl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0013((byte) 0xF7, (byte) 0x00, disp8, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testl     rbx[rsi * 4 + 18], 0x12345678}
     */
    // Template#: 12336, Serial#: 2932
    public void testl_r2932(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0013((byte) 0xF7, (byte) 0x01, disp8, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testq     rbx[rsi * 4 + 18], 0x12345678}
     */
    // Template#: 12337, Serial#: 3002
    public void testq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0014((byte) 0xF7, (byte) 0x00, disp8, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testq     rbx[rsi * 4 + 18], 0x12345678}
     */
    // Template#: 12338, Serial#: 3004
    public void testq_r3004(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0014((byte) 0xF7, (byte) 0x01, disp8, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code testw     rbx[rsi * 4 + 18], 0x1234}
     */
    // Template#: 12339, Serial#: 3074
    public void testw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0015((byte) 0xF7, (byte) 0x00, disp8, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code testw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code testw     rbx[rsi * 4 + 18], 0x1234}
     */
    // Template#: 12340, Serial#: 3076
    public void testw_r3076(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0015((byte) 0xF7, (byte) 0x01, disp8, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     [rbx + 18], 0x12}
     */
    // Template#: 12341, Serial#: 2713
    public void testb(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0xF6, (byte) 0x00, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     [rbx + 18], 0x12}
     */
    // Template#: 12342, Serial#: 2715
    public void testb_r2715(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0xF6, (byte) 0x01, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     [rbx + 18], 0x12}
     */
    // Template#: 12343, Serial#: 2785
    public void testb_r2785(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0xF6, (byte) 0x00, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     [rbx + 18], 0x12}
     */
    // Template#: 12344, Serial#: 2787
    public void testb_r2787(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0xF6, (byte) 0x01, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     [rbx + 18], 0x12}
     */
    // Template#: 12345, Serial#: 2857
    public void testb_r2857(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0xF6, (byte) 0x00, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     [rbx + 18], 0x12}
     */
    // Template#: 12346, Serial#: 2859
    public void testb_r2859(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0xF6, (byte) 0x01, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code test      [rbx + 18], ax}
     */
    // Template#: 12347, Serial#: 1194
    public void test(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0019((byte) 0x85, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code test      [rbx + 18], eax}
     */
    // Template#: 12348, Serial#: 1176
    public void test(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0020((byte) 0x85, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code test      [rbx + 18], rax}
     */
    // Template#: 12349, Serial#: 1185
    public void test(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0021((byte) 0x85, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code test      [rbx + 18], al}
     */
    // Template#: 12350, Serial#: 1149
    public void test(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0022((byte) 0x84, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code test      [rbx + 18], al}
     */
    // Template#: 12351, Serial#: 1158
    public void test_r1158(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0023((byte) 0x84, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code test      [rbx + 18], al}
     */
    // Template#: 12352, Serial#: 1167
    public void test_r1167(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0024((byte) 0x84, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code testl  }<i>disp8</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testl     [rbx + 18], 0x12345678}
     */
    // Template#: 12353, Serial#: 2929
    public void testl(byte disp8, AMD64IndirectRegister64 destination, int imm32) {
        assemble0025((byte) 0xF7, (byte) 0x00, disp8, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testl  }<i>disp8</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testl     [rbx + 18], 0x12345678}
     */
    // Template#: 12354, Serial#: 2931
    public void testl_r2931(byte disp8, AMD64IndirectRegister64 destination, int imm32) {
        assemble0025((byte) 0xF7, (byte) 0x01, disp8, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testq  }<i>disp8</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testq     [rbx + 18], 0x12345678}
     */
    // Template#: 12355, Serial#: 3001
    public void testq(byte disp8, AMD64IndirectRegister64 destination, int imm32) {
        assemble0026((byte) 0xF7, (byte) 0x00, disp8, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testq  }<i>disp8</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testq     [rbx + 18], 0x12345678}
     */
    // Template#: 12356, Serial#: 3003
    public void testq_r3003(byte disp8, AMD64IndirectRegister64 destination, int imm32) {
        assemble0026((byte) 0xF7, (byte) 0x01, disp8, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testw  }<i>disp8</i>, <i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code testw     [rbx + 18], 0x1234}
     */
    // Template#: 12357, Serial#: 3073
    public void testw(byte disp8, AMD64IndirectRegister64 destination, short imm16) {
        assemble0027((byte) 0xF7, (byte) 0x00, disp8, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code testw  }<i>disp8</i>, <i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code testw     [rbx + 18], 0x1234}
     */
    // Template#: 12358, Serial#: 3075
    public void testw_r3075(byte disp8, AMD64IndirectRegister64 destination, short imm16) {
        assemble0027((byte) 0xF7, (byte) 0x01, disp8, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     rbx[rsi * 4], 0x12}
     */
    // Template#: 12359, Serial#: 2682
    public void testb(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0xF6, (byte) 0x00, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     rbx[rsi * 4], 0x12}
     */
    // Template#: 12360, Serial#: 2686
    public void testb_r2686(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0xF6, (byte) 0x01, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     rbx[rsi * 4], 0x12}
     */
    // Template#: 12361, Serial#: 2754
    public void testb_r2754(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0xF6, (byte) 0x00, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     rbx[rsi * 4], 0x12}
     */
    // Template#: 12362, Serial#: 2758
    public void testb_r2758(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0xF6, (byte) 0x01, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     rbx[rsi * 4], 0x12}
     */
    // Template#: 12363, Serial#: 2826
    public void testb_r2826(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0xF6, (byte) 0x00, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     rbx[rsi * 4], 0x12}
     */
    // Template#: 12364, Serial#: 2830
    public void testb_r2830(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0xF6, (byte) 0x01, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code test      rbx[rsi * 4], ax}
     */
    // Template#: 12365, Serial#: 1191
    public void test(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0031((byte) 0x85, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code test      rbx[rsi * 4], eax}
     */
    // Template#: 12366, Serial#: 1173
    public void test(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0032((byte) 0x85, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code test      rbx[rsi * 4], rax}
     */
    // Template#: 12367, Serial#: 1182
    public void test(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0033((byte) 0x85, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code test      rbx[rsi * 4], al}
     */
    // Template#: 12368, Serial#: 1146
    public void test(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0034((byte) 0x84, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code test      rbx[rsi * 4], al}
     */
    // Template#: 12369, Serial#: 1155
    public void test_r1155(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0035((byte) 0x84, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code test      rbx[rsi * 4], al}
     */
    // Template#: 12370, Serial#: 1164
    public void test_r1164(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0036((byte) 0x84, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code testl  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testl     rbx[rsi * 4], 0x12345678}
     */
    // Template#: 12371, Serial#: 2898
    public void testl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0037((byte) 0xF7, (byte) 0x00, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testl  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testl     rbx[rsi * 4], 0x12345678}
     */
    // Template#: 12372, Serial#: 2902
    public void testl_r2902(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0037((byte) 0xF7, (byte) 0x01, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testq     rbx[rsi * 4], 0x12345678}
     */
    // Template#: 12373, Serial#: 2970
    public void testq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0038((byte) 0xF7, (byte) 0x00, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testq     rbx[rsi * 4], 0x12345678}
     */
    // Template#: 12374, Serial#: 2974
    public void testq_r2974(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0038((byte) 0xF7, (byte) 0x01, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testw  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code testw     rbx[rsi * 4], 0x1234}
     */
    // Template#: 12375, Serial#: 3042
    public void testw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0039((byte) 0xF7, (byte) 0x00, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code testw  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code testw     rbx[rsi * 4], 0x1234}
     */
    // Template#: 12376, Serial#: 3046
    public void testw_r3046(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0039((byte) 0xF7, (byte) 0x01, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code test      ax, ax}
     */
    // Template#: 12377, Serial#: 1198
    public void test(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0044((byte) 0x85, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code testw  }<i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code testw     ax, 0x1234}
     */
    // Template#: 12378, Serial#: 3105
    public void testw(AMD64GeneralRegister16 destination, short imm16) {
        assemble0051((byte) 0xF7, (byte) 0x00, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code testw  }<i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code testw     ax, 0x1234}
     */
    // Template#: 12379, Serial#: 3106
    public void testw_r3106(AMD64GeneralRegister16 destination, short imm16) {
        assemble0051((byte) 0xF7, (byte) 0x01, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code test      eax, eax}
     */
    // Template#: 12380, Serial#: 1180
    public void test(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0056((byte) 0x85, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code testl  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testl     eax, 0x12345678}
     */
    // Template#: 12381, Serial#: 2961
    public void testl(AMD64GeneralRegister32 destination, int imm32) {
        assemble0060((byte) 0xF7, (byte) 0x00, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testl  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testl     eax, 0x12345678}
     */
    // Template#: 12382, Serial#: 2962
    public void testl_r2962(AMD64GeneralRegister32 destination, int imm32) {
        assemble0060((byte) 0xF7, (byte) 0x01, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code test      rax, rax}
     */
    // Template#: 12383, Serial#: 1189
    public void test(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0068((byte) 0x85, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code testq  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testq     rax, 0x12345678}
     */
    // Template#: 12384, Serial#: 3033
    public void testq(AMD64GeneralRegister64 destination, int imm32) {
        assemble0072((byte) 0xF7, (byte) 0x00, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testq  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testq     rax, 0x12345678}
     */
    // Template#: 12385, Serial#: 3034
    public void testq_r3034(AMD64GeneralRegister64 destination, int imm32) {
        assemble0072((byte) 0xF7, (byte) 0x01, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     al, 0x12}
     */
    // Template#: 12386, Serial#: 2745
    public void testb(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0076((byte) 0xF6, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     al, 0x12}
     */
    // Template#: 12387, Serial#: 2746
    public void testb_r2746(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0076((byte) 0xF6, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     al, 0x12}
     */
    // Template#: 12388, Serial#: 2817
    public void testb_r2817(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0077((byte) 0xF6, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     al, 0x12}
     */
    // Template#: 12389, Serial#: 2818
    public void testb_r2818(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0077((byte) 0xF6, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     al, 0x12}
     */
    // Template#: 12390, Serial#: 2889
    public void testb_r2889(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0078((byte) 0xF6, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     al, 0x12}
     */
    // Template#: 12391, Serial#: 2890
    public void testb_r2890(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0078((byte) 0xF6, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code test      al, al}
     */
    // Template#: 12392, Serial#: 1153
    public void test(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0088((byte) 0x84, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code test      al, al}
     */
    // Template#: 12393, Serial#: 1162
    public void test_r1162(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0089((byte) 0x84, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code test      al, al}
     */
    // Template#: 12394, Serial#: 1171
    public void test_r1171(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0090((byte) 0x84, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     [rbx], 0x12}
     */
    // Template#: 12395, Serial#: 2681
    public void testb(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0xF6, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     [rbx], 0x12}
     */
    // Template#: 12396, Serial#: 2685
    public void testb_r2685(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0xF6, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     [rbx], 0x12}
     */
    // Template#: 12397, Serial#: 2753
    public void testb_r2753(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0xF6, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     [rbx], 0x12}
     */
    // Template#: 12398, Serial#: 2757
    public void testb_r2757(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0xF6, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     [rbx], 0x12}
     */
    // Template#: 12399, Serial#: 2825
    public void testb_r2825(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0xF6, (byte) 0x00, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     [rbx], 0x12}
     */
    // Template#: 12400, Serial#: 2829
    public void testb_r2829(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0xF6, (byte) 0x01, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code test      [rbx], ax}
     */
    // Template#: 12401, Serial#: 1190
    public void test(AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0112((byte) 0x85, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code test      [rbx], eax}
     */
    // Template#: 12402, Serial#: 1172
    public void test(AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0113((byte) 0x85, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code test      [rbx], rax}
     */
    // Template#: 12403, Serial#: 1181
    public void test(AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0114((byte) 0x85, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code test      [rbx], al}
     */
    // Template#: 12404, Serial#: 1145
    public void test(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0115((byte) 0x84, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code test      [rbx], al}
     */
    // Template#: 12405, Serial#: 1154
    public void test_r1154(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0116((byte) 0x84, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code test      [rbx], al}
     */
    // Template#: 12406, Serial#: 1163
    public void test_r1163(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0117((byte) 0x84, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code testl  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testl     [rbx], 0x12345678}
     */
    // Template#: 12407, Serial#: 2897
    public void testl(AMD64IndirectRegister64 destination, int imm32) {
        assemble0118((byte) 0xF7, (byte) 0x00, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testl  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testl     [rbx], 0x12345678}
     */
    // Template#: 12408, Serial#: 2901
    public void testl_r2901(AMD64IndirectRegister64 destination, int imm32) {
        assemble0118((byte) 0xF7, (byte) 0x01, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testq  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testq     [rbx], 0x12345678}
     */
    // Template#: 12409, Serial#: 2969
    public void testq(AMD64IndirectRegister64 destination, int imm32) {
        assemble0119((byte) 0xF7, (byte) 0x00, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testq  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testq     [rbx], 0x12345678}
     */
    // Template#: 12410, Serial#: 2973
    public void testq_r2973(AMD64IndirectRegister64 destination, int imm32) {
        assemble0119((byte) 0xF7, (byte) 0x01, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testw  }<i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code testw     [rbx], 0x1234}
     */
    // Template#: 12411, Serial#: 3041
    public void testw(AMD64IndirectRegister64 destination, short imm16) {
        assemble0120((byte) 0xF7, (byte) 0x00, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code testw  }<i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code testw     [rbx], 0x1234}
     */
    // Template#: 12412, Serial#: 3045
    public void testw_r3045(AMD64IndirectRegister64 destination, short imm16) {
        assemble0120((byte) 0xF7, (byte) 0x01, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>imm32</i>
     * Example disassembly syntax: {@code test      eax, 0x12345678}
     */
    // Template#: 12413, Serial#: 3877
    public void test_EAX(int imm32) {
        assemble0121((byte) 0xA9, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>imm32</i>
     * Example disassembly syntax: {@code test      rax, 0x12345678}
     */
    // Template#: 12414, Serial#: 3878
    public void test_RAX(int imm32) {
        assemble0122((byte) 0xA9, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     [L1: +305419896], 0x12}
     */
    // Template#: 12415, Serial#: 2684
    public void rip_testb(int rel32, byte imm8) {
        assemble0123((byte) 0xF6, (byte) 0x00, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     [L1: +305419896], 0x12}
     */
    // Template#: 12416, Serial#: 2688
    public void rip_testb_r2688(int rel32, byte imm8) {
        assemble0123((byte) 0xF6, (byte) 0x01, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     [L1: +305419896], 0x12}
     */
    // Template#: 12417, Serial#: 2756
    public void rip_testb_r2756(int rel32, byte imm8) {
        assemble0124((byte) 0xF6, (byte) 0x00, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     [L1: +305419896], 0x12}
     */
    // Template#: 12418, Serial#: 2760
    public void rip_testb_r2760(int rel32, byte imm8) {
        assemble0124((byte) 0xF6, (byte) 0x01, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     [L1: +305419896], 0x12}
     */
    // Template#: 12419, Serial#: 2828
    public void rip_testb_r2828(int rel32, byte imm8) {
        assemble0125((byte) 0xF6, (byte) 0x00, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     [L1: +305419896], 0x12}
     */
    // Template#: 12420, Serial#: 2832
    public void rip_testb_r2832(int rel32, byte imm8) {
        assemble0125((byte) 0xF6, (byte) 0x01, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 12421, Serial#: 2730
    public void testb(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0xF6, (byte) 0x00, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 12422, Serial#: 2732
    public void testb_r2732(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0xF6, (byte) 0x01, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 12423, Serial#: 2802
    public void testb_r2802(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0xF6, (byte) 0x00, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 12424, Serial#: 2804
    public void testb_r2804(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0xF6, (byte) 0x01, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 12425, Serial#: 2874
    public void testb_r2874(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0xF6, (byte) 0x00, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 12426, Serial#: 2876
    public void testb_r2876(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0xF6, (byte) 0x01, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code test      rbx[rsi * 4 + 305419896], ax}
     */
    // Template#: 12427, Serial#: 1197
    public void test(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0129((byte) 0x85, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code test      rbx[rsi * 4 + 305419896], eax}
     */
    // Template#: 12428, Serial#: 1179
    public void test(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0130((byte) 0x85, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code test      rbx[rsi * 4 + 305419896], rax}
     */
    // Template#: 12429, Serial#: 1188
    public void test(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0131((byte) 0x85, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code test      rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 12430, Serial#: 1152
    public void test(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0132((byte) 0x84, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code test      rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 12431, Serial#: 1161
    public void test_r1161(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0133((byte) 0x84, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code test      rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 12432, Serial#: 1170
    public void test_r1170(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0134((byte) 0x84, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code testl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testl     rbx[rsi * 4 + 305419896], 0x12345678}
     */
    // Template#: 12433, Serial#: 2946
    public void testl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0135((byte) 0xF7, (byte) 0x00, disp32, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testl     rbx[rsi * 4 + 305419896], 0x12345678}
     */
    // Template#: 12434, Serial#: 2948
    public void testl_r2948(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0135((byte) 0xF7, (byte) 0x01, disp32, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testq     rbx[rsi * 4 + 305419896], 0x12345678}
     */
    // Template#: 12435, Serial#: 3018
    public void testq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0136((byte) 0xF7, (byte) 0x00, disp32, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testq     rbx[rsi * 4 + 305419896], 0x12345678}
     */
    // Template#: 12436, Serial#: 3020
    public void testq_r3020(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0136((byte) 0xF7, (byte) 0x01, disp32, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code testw     rbx[rsi * 4 + 305419896], 0x1234}
     */
    // Template#: 12437, Serial#: 3090
    public void testw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0137((byte) 0xF7, (byte) 0x00, disp32, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code testw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code testw     rbx[rsi * 4 + 305419896], 0x1234}
     */
    // Template#: 12438, Serial#: 3092
    public void testw_r3092(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0137((byte) 0xF7, (byte) 0x01, disp32, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code test      [L1: +305419896], ax}
     */
    // Template#: 12439, Serial#: 1193
    public void rip_test(int rel32, AMD64GeneralRegister16 source) {
        assemble0138((byte) 0x85, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code test      [L1: +305419896], eax}
     */
    // Template#: 12440, Serial#: 1175
    public void rip_test(int rel32, AMD64GeneralRegister32 source) {
        assemble0139((byte) 0x85, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code test      [L1: +305419896], rax}
     */
    // Template#: 12441, Serial#: 1184
    public void rip_test(int rel32, AMD64GeneralRegister64 source) {
        assemble0140((byte) 0x85, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code test      [L1: +305419896], al}
     */
    // Template#: 12442, Serial#: 1148
    public void rip_test(int rel32, AMD64GeneralRegister8 source) {
        assemble0141((byte) 0x84, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code test      [L1: +305419896], al}
     */
    // Template#: 12443, Serial#: 1157
    public void rip_test_r1157(int rel32, AMD64GeneralRegister8 source) {
        assemble0142((byte) 0x84, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code test      [L1: +305419896], al}
     */
    // Template#: 12444, Serial#: 1166
    public void rip_test_r1166(int rel32, AMD64GeneralRegister8 source) {
        assemble0143((byte) 0x84, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     0x12345678[rsi * 4], 0x12}
     */
    // Template#: 12445, Serial#: 2683
    public void m_testb(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0xF6, (byte) 0x00, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     0x12345678[rsi * 4], 0x12}
     */
    // Template#: 12446, Serial#: 2687
    public void m_testb_r2687(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0xF6, (byte) 0x01, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     0x12345678[rsi * 4], 0x12}
     */
    // Template#: 12447, Serial#: 2755
    public void m_testb_r2755(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0xF6, (byte) 0x00, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     0x12345678[rsi * 4], 0x12}
     */
    // Template#: 12448, Serial#: 2759
    public void m_testb_r2759(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0xF6, (byte) 0x01, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     0x12345678[rsi * 4], 0x12}
     */
    // Template#: 12449, Serial#: 2827
    public void m_testb_r2827(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0xF6, (byte) 0x00, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     0x12345678[rsi * 4], 0x12}
     */
    // Template#: 12450, Serial#: 2831
    public void m_testb_r2831(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0xF6, (byte) 0x01, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code test      0x12345678[rsi * 4], ax}
     */
    // Template#: 12451, Serial#: 1192
    public void m_test(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0147((byte) 0x85, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code test      0x12345678[rsi * 4], eax}
     */
    // Template#: 12452, Serial#: 1174
    public void m_test(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0148((byte) 0x85, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code test      0x12345678[rsi * 4], rax}
     */
    // Template#: 12453, Serial#: 1183
    public void m_test(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0149((byte) 0x85, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code test      0x12345678[rsi * 4], al}
     */
    // Template#: 12454, Serial#: 1147
    public void m_test(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0150((byte) 0x84, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code test      0x12345678[rsi * 4], al}
     */
    // Template#: 12455, Serial#: 1156
    public void m_test_r1156(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0151((byte) 0x84, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code test      0x12345678[rsi * 4], al}
     */
    // Template#: 12456, Serial#: 1165
    public void m_test_r1165(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0152((byte) 0x84, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code testl  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testl     0x12345678[rsi * 4], 0x12345678}
     */
    // Template#: 12457, Serial#: 2899
    public void m_testl(int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0153((byte) 0xF7, (byte) 0x00, m32, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testl  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testl     0x12345678[rsi * 4], 0x12345678}
     */
    // Template#: 12458, Serial#: 2903
    public void m_testl_r2903(int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0153((byte) 0xF7, (byte) 0x01, m32, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testq     0x12345678[rsi * 4], 0x12345678}
     */
    // Template#: 12459, Serial#: 2971
    public void m_testq(int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0154((byte) 0xF7, (byte) 0x00, m32, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testq     0x12345678[rsi * 4], 0x12345678}
     */
    // Template#: 12460, Serial#: 2975
    public void m_testq_r2975(int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0154((byte) 0xF7, (byte) 0x01, m32, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testw  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code testw     0x12345678[rsi * 4], 0x1234}
     */
    // Template#: 12461, Serial#: 3043
    public void m_testw(int m32, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0155((byte) 0xF7, (byte) 0x00, m32, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code testw  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code testw     0x12345678[rsi * 4], 0x1234}
     */
    // Template#: 12462, Serial#: 3047
    public void m_testw_r3047(int m32, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0155((byte) 0xF7, (byte) 0x01, m32, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     [rbx + 305419896], 0x12}
     */
    // Template#: 12463, Serial#: 2729
    public void testb(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0xF6, (byte) 0x00, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     [rbx + 305419896], 0x12}
     */
    // Template#: 12464, Serial#: 2731
    public void testb_r2731(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0xF6, (byte) 0x01, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     [rbx + 305419896], 0x12}
     */
    // Template#: 12465, Serial#: 2801
    public void testb_r2801(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0xF6, (byte) 0x00, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     [rbx + 305419896], 0x12}
     */
    // Template#: 12466, Serial#: 2803
    public void testb_r2803(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0xF6, (byte) 0x01, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     [rbx + 305419896], 0x12}
     */
    // Template#: 12467, Serial#: 2873
    public void testb_r2873(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0xF6, (byte) 0x00, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code testb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code testb     [rbx + 305419896], 0x12}
     */
    // Template#: 12468, Serial#: 2875
    public void testb_r2875(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0xF6, (byte) 0x01, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code test      [rbx + 305419896], ax}
     */
    // Template#: 12469, Serial#: 1196
    public void test(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0159((byte) 0x85, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code test      [rbx + 305419896], eax}
     */
    // Template#: 12470, Serial#: 1178
    public void test(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0160((byte) 0x85, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code test      [rbx + 305419896], rax}
     */
    // Template#: 12471, Serial#: 1187
    public void test(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0161((byte) 0x85, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code test      [rbx + 305419896], al}
     */
    // Template#: 12472, Serial#: 1151
    public void test(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0162((byte) 0x84, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code test      [rbx + 305419896], al}
     */
    // Template#: 12473, Serial#: 1160
    public void test_r1160(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0163((byte) 0x84, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code test      [rbx + 305419896], al}
     */
    // Template#: 12474, Serial#: 1169
    public void test_r1169(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0164((byte) 0x84, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code testl  }<i>disp32</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testl     [rbx + 305419896], 0x12345678}
     */
    // Template#: 12475, Serial#: 2945
    public void testl(int disp32, AMD64IndirectRegister64 destination, int imm32) {
        assemble0165((byte) 0xF7, (byte) 0x00, disp32, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testl  }<i>disp32</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testl     [rbx + 305419896], 0x12345678}
     */
    // Template#: 12476, Serial#: 2947
    public void testl_r2947(int disp32, AMD64IndirectRegister64 destination, int imm32) {
        assemble0165((byte) 0xF7, (byte) 0x01, disp32, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testq  }<i>disp32</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testq     [rbx + 305419896], 0x12345678}
     */
    // Template#: 12477, Serial#: 3017
    public void testq(int disp32, AMD64IndirectRegister64 destination, int imm32) {
        assemble0166((byte) 0xF7, (byte) 0x00, disp32, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testq  }<i>disp32</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testq     [rbx + 305419896], 0x12345678}
     */
    // Template#: 12478, Serial#: 3019
    public void testq_r3019(int disp32, AMD64IndirectRegister64 destination, int imm32) {
        assemble0166((byte) 0xF7, (byte) 0x01, disp32, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testw  }<i>disp32</i>, <i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code testw     [rbx + 305419896], 0x1234}
     */
    // Template#: 12479, Serial#: 3089
    public void testw(int disp32, AMD64IndirectRegister64 destination, short imm16) {
        assemble0167((byte) 0xF7, (byte) 0x00, disp32, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code testw  }<i>disp32</i>, <i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code testw     [rbx + 305419896], 0x1234}
     */
    // Template#: 12480, Serial#: 3091
    public void testw_r3091(int disp32, AMD64IndirectRegister64 destination, short imm16) {
        assemble0167((byte) 0xF7, (byte) 0x01, disp32, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code testl  }<i>rel32</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testl     [L1: +305419896], 0x12345678}
     */
    // Template#: 12481, Serial#: 2900
    public void rip_testl(int rel32, int imm32) {
        assemble0168((byte) 0xF7, (byte) 0x00, rel32, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testl  }<i>rel32</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testl     [L1: +305419896], 0x12345678}
     */
    // Template#: 12482, Serial#: 2904
    public void rip_testl_r2904(int rel32, int imm32) {
        assemble0168((byte) 0xF7, (byte) 0x01, rel32, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testq  }<i>rel32</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testq     [L1: +305419896], 0x12345678}
     */
    // Template#: 12483, Serial#: 2972
    public void rip_testq(int rel32, int imm32) {
        assemble0169((byte) 0xF7, (byte) 0x00, rel32, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testq  }<i>rel32</i>, <i>imm32</i>
     * Example disassembly syntax: {@code testq     [L1: +305419896], 0x12345678}
     */
    // Template#: 12484, Serial#: 2976
    public void rip_testq_r2976(int rel32, int imm32) {
        assemble0169((byte) 0xF7, (byte) 0x01, rel32, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code testw  }<i>rel32</i>, <i>imm16</i>
     * Example disassembly syntax: {@code testw     [L1: +305419896], 0x1234}
     */
    // Template#: 12485, Serial#: 3044
    public void rip_testw(int rel32, short imm16) {
        assemble0170((byte) 0xF7, (byte) 0x00, rel32, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code testw  }<i>rel32</i>, <i>imm16</i>
     * Example disassembly syntax: {@code testw     [L1: +305419896], 0x1234}
     */
    // Template#: 12486, Serial#: 3048
    public void rip_testw_r3048(int rel32, short imm16) {
        assemble0170((byte) 0xF7, (byte) 0x01, rel32, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code test  }<i>imm16</i>
     * Example disassembly syntax: {@code test      ax, 0x1234}
     */
    // Template#: 12487, Serial#: 3879
    public void test_AX(short imm16) {
        assemble0171((byte) 0xA9, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomisd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ucomisd   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 12488, Serial#: 9605
    public void ucomisd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x2E, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomisd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ucomisd   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 12489, Serial#: 9614
    public void ucomisd_r9614(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x2E, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomisd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code ucomisd   xmm0, [rbx + 18]}
     */
    // Template#: 12490, Serial#: 9604
    public void ucomisd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x2E, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomisd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code ucomisd   xmm0, [rbx + 18]}
     */
    // Template#: 12491, Serial#: 9613
    public void ucomisd_r9613(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x2E, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomisd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ucomisd   xmm0, rbx[rsi * 4]}
     */
    // Template#: 12492, Serial#: 9601
    public void ucomisd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x2E, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomisd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ucomisd   xmm0, rbx[rsi * 4]}
     */
    // Template#: 12493, Serial#: 9610
    public void ucomisd_r9610(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x2E, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomisd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code ucomisd   xmm0, [rbx]}
     */
    // Template#: 12494, Serial#: 9600
    public void ucomisd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x2E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomisd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code ucomisd   xmm0, [rbx]}
     */
    // Template#: 12495, Serial#: 9609
    public void ucomisd_r9609(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x2E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomisd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code ucomisd   xmm0, xmm0}
     */
    // Template#: 12496, Serial#: 9608
    public void ucomisd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x2E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomisd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code ucomisd   xmm0, xmm0}
     */
    // Template#: 12497, Serial#: 9617
    public void ucomisd_r9617(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x2E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomisd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code ucomisd   xmm0, [L1: +305419896]}
     */
    // Template#: 12498, Serial#: 9603
    public void rip_ucomisd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x2E, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomisd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code ucomisd   xmm0, [L1: +305419896]}
     */
    // Template#: 12499, Serial#: 9612
    public void rip_ucomisd_r9612(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x2E, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomisd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ucomisd   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12500, Serial#: 9607
    public void ucomisd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x2E, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomisd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ucomisd   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12501, Serial#: 9616
    public void ucomisd_r9616(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x2E, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomisd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ucomisd   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 12502, Serial#: 9602
    public void m_ucomisd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x2E, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomisd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ucomisd   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 12503, Serial#: 9611
    public void m_ucomisd_r9611(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x2E, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomisd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code ucomisd   xmm0, [rbx + 305419896]}
     */
    // Template#: 12504, Serial#: 9606
    public void ucomisd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x2E, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomisd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code ucomisd   xmm0, [rbx + 305419896]}
     */
    // Template#: 12505, Serial#: 9615
    public void ucomisd_r9615(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x2E, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomiss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ucomiss   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 12506, Serial#: 9446
    public void ucomiss(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0190((byte) 0x2E, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomiss  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ucomiss   xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 12507, Serial#: 9455
    public void ucomiss_r9455(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0191((byte) 0x2E, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomiss  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code ucomiss   xmm0, [rbx + 18]}
     */
    // Template#: 12508, Serial#: 9445
    public void ucomiss(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0192((byte) 0x2E, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomiss  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code ucomiss   xmm0, [rbx + 18]}
     */
    // Template#: 12509, Serial#: 9454
    public void ucomiss_r9454(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0193((byte) 0x2E, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomiss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ucomiss   xmm0, rbx[rsi * 4]}
     */
    // Template#: 12510, Serial#: 9442
    public void ucomiss(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0194((byte) 0x2E, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomiss  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ucomiss   xmm0, rbx[rsi * 4]}
     */
    // Template#: 12511, Serial#: 9451
    public void ucomiss_r9451(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0195((byte) 0x2E, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomiss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code ucomiss   xmm0, [rbx]}
     */
    // Template#: 12512, Serial#: 9441
    public void ucomiss(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0196((byte) 0x2E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomiss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code ucomiss   xmm0, [rbx]}
     */
    // Template#: 12513, Serial#: 9450
    public void ucomiss_r9450(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0197((byte) 0x2E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomiss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code ucomiss   xmm0, xmm0}
     */
    // Template#: 12514, Serial#: 9449
    public void ucomiss(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0198((byte) 0x2E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomiss  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code ucomiss   xmm0, xmm0}
     */
    // Template#: 12515, Serial#: 9458
    public void ucomiss_r9458(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0199((byte) 0x2E, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomiss  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code ucomiss   xmm0, [L1: +305419896]}
     */
    // Template#: 12516, Serial#: 9444
    public void rip_ucomiss(AMD64XMMRegister destination, int rel32) {
        assemble0200((byte) 0x2E, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomiss  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code ucomiss   xmm0, [L1: +305419896]}
     */
    // Template#: 12517, Serial#: 9453
    public void rip_ucomiss_r9453(AMD64XMMRegister destination, int rel32) {
        assemble0201((byte) 0x2E, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomiss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ucomiss   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12518, Serial#: 9448
    public void ucomiss(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0202((byte) 0x2E, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomiss  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ucomiss   xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12519, Serial#: 9457
    public void ucomiss_r9457(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0203((byte) 0x2E, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomiss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ucomiss   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 12520, Serial#: 9443
    public void m_ucomiss(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0204((byte) 0x2E, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomiss  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code ucomiss   xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 12521, Serial#: 9452
    public void m_ucomiss_r9452(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0205((byte) 0x2E, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomiss  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code ucomiss   xmm0, [rbx + 305419896]}
     */
    // Template#: 12522, Serial#: 9447
    public void ucomiss(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0206((byte) 0x2E, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code ucomiss  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code ucomiss   xmm0, [rbx + 305419896]}
     */
    // Template#: 12523, Serial#: 9456
    public void ucomiss_r9456(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0207((byte) 0x2E, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code ud2  }
     * Example disassembly syntax: {@code ud2     }
     */
    // Template#: 12524, Serial#: 9123
    public void ud2() {
        assemble0373((byte) 0x0B);
    }

    /**
     * Pseudo-external assembler syntax: {@code ud2  }
     * Example disassembly syntax: {@code ud2     }
     */
    // Template#: 12525, Serial#: 9124
    public void ud2_r9124() {
        assemble0374((byte) 0x0B);
    }

    /**
     * Pseudo-external assembler syntax: {@code ud2  }
     * Example disassembly syntax: {@code ud2     }
     */
    // Template#: 12526, Serial#: 9125
    public void ud2_r9125() {
        assemble0375((byte) 0x0B);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpckhpd  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 12527, Serial#: 6118
    public void unpckhpd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x15, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpckhpd  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 12528, Serial#: 6127
    public void unpckhpd_r6127(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x15, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code unpckhpd  xmm0, [rbx + 18]}
     */
    // Template#: 12529, Serial#: 6117
    public void unpckhpd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x15, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code unpckhpd  xmm0, [rbx + 18]}
     */
    // Template#: 12530, Serial#: 6126
    public void unpckhpd_r6126(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x15, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpckhpd  xmm0, rbx[rsi * 4]}
     */
    // Template#: 12531, Serial#: 6114
    public void unpckhpd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x15, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpckhpd  xmm0, rbx[rsi * 4]}
     */
    // Template#: 12532, Serial#: 6123
    public void unpckhpd_r6123(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x15, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code unpckhpd  xmm0, [rbx]}
     */
    // Template#: 12533, Serial#: 6113
    public void unpckhpd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x15, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code unpckhpd  xmm0, [rbx]}
     */
    // Template#: 12534, Serial#: 6122
    public void unpckhpd_r6122(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x15, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code unpckhpd  xmm0, xmm0}
     */
    // Template#: 12535, Serial#: 6121
    public void unpckhpd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x15, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code unpckhpd  xmm0, xmm0}
     */
    // Template#: 12536, Serial#: 6130
    public void unpckhpd_r6130(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x15, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code unpckhpd  xmm0, [L1: +305419896]}
     */
    // Template#: 12537, Serial#: 6116
    public void rip_unpckhpd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x15, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code unpckhpd  xmm0, [L1: +305419896]}
     */
    // Template#: 12538, Serial#: 6125
    public void rip_unpckhpd_r6125(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x15, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpckhpd  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12539, Serial#: 6120
    public void unpckhpd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x15, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpckhpd  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12540, Serial#: 6129
    public void unpckhpd_r6129(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x15, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpckhpd  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 12541, Serial#: 6115
    public void m_unpckhpd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x15, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpckhpd  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 12542, Serial#: 6124
    public void m_unpckhpd_r6124(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x15, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code unpckhpd  xmm0, [rbx + 305419896]}
     */
    // Template#: 12543, Serial#: 6119
    public void unpckhpd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x15, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code unpckhpd  xmm0, [rbx + 305419896]}
     */
    // Template#: 12544, Serial#: 6128
    public void unpckhpd_r6128(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x15, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpckhps  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 12545, Serial#: 5971
    public void unpckhps(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0190((byte) 0x15, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpckhps  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 12546, Serial#: 5980
    public void unpckhps_r5980(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0191((byte) 0x15, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code unpckhps  xmm0, [rbx + 18]}
     */
    // Template#: 12547, Serial#: 5970
    public void unpckhps(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0192((byte) 0x15, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code unpckhps  xmm0, [rbx + 18]}
     */
    // Template#: 12548, Serial#: 5979
    public void unpckhps_r5979(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0193((byte) 0x15, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpckhps  xmm0, rbx[rsi * 4]}
     */
    // Template#: 12549, Serial#: 5967
    public void unpckhps(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0194((byte) 0x15, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpckhps  xmm0, rbx[rsi * 4]}
     */
    // Template#: 12550, Serial#: 5976
    public void unpckhps_r5976(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0195((byte) 0x15, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code unpckhps  xmm0, [rbx]}
     */
    // Template#: 12551, Serial#: 5966
    public void unpckhps(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0196((byte) 0x15, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code unpckhps  xmm0, [rbx]}
     */
    // Template#: 12552, Serial#: 5975
    public void unpckhps_r5975(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0197((byte) 0x15, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code unpckhps  xmm0, xmm0}
     */
    // Template#: 12553, Serial#: 5974
    public void unpckhps(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0198((byte) 0x15, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code unpckhps  xmm0, xmm0}
     */
    // Template#: 12554, Serial#: 5983
    public void unpckhps_r5983(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0199((byte) 0x15, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code unpckhps  xmm0, [L1: +305419896]}
     */
    // Template#: 12555, Serial#: 5969
    public void rip_unpckhps(AMD64XMMRegister destination, int rel32) {
        assemble0200((byte) 0x15, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code unpckhps  xmm0, [L1: +305419896]}
     */
    // Template#: 12556, Serial#: 5978
    public void rip_unpckhps_r5978(AMD64XMMRegister destination, int rel32) {
        assemble0201((byte) 0x15, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpckhps  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12557, Serial#: 5973
    public void unpckhps(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0202((byte) 0x15, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpckhps  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12558, Serial#: 5982
    public void unpckhps_r5982(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0203((byte) 0x15, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpckhps  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 12559, Serial#: 5968
    public void m_unpckhps(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0204((byte) 0x15, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpckhps  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 12560, Serial#: 5977
    public void m_unpckhps_r5977(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0205((byte) 0x15, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code unpckhps  xmm0, [rbx + 305419896]}
     */
    // Template#: 12561, Serial#: 5972
    public void unpckhps(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0206((byte) 0x15, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpckhps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code unpckhps  xmm0, [rbx + 305419896]}
     */
    // Template#: 12562, Serial#: 5981
    public void unpckhps_r5981(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0207((byte) 0x15, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpcklpd  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 12563, Serial#: 6100
    public void unpcklpd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x14, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpcklpd  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 12564, Serial#: 6109
    public void unpcklpd_r6109(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x14, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code unpcklpd  xmm0, [rbx + 18]}
     */
    // Template#: 12565, Serial#: 6099
    public void unpcklpd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x14, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code unpcklpd  xmm0, [rbx + 18]}
     */
    // Template#: 12566, Serial#: 6108
    public void unpcklpd_r6108(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x14, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpcklpd  xmm0, rbx[rsi * 4]}
     */
    // Template#: 12567, Serial#: 6096
    public void unpcklpd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x14, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpcklpd  xmm0, rbx[rsi * 4]}
     */
    // Template#: 12568, Serial#: 6105
    public void unpcklpd_r6105(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x14, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code unpcklpd  xmm0, [rbx]}
     */
    // Template#: 12569, Serial#: 6095
    public void unpcklpd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x14, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code unpcklpd  xmm0, [rbx]}
     */
    // Template#: 12570, Serial#: 6104
    public void unpcklpd_r6104(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x14, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code unpcklpd  xmm0, xmm0}
     */
    // Template#: 12571, Serial#: 6103
    public void unpcklpd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x14, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code unpcklpd  xmm0, xmm0}
     */
    // Template#: 12572, Serial#: 6112
    public void unpcklpd_r6112(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x14, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code unpcklpd  xmm0, [L1: +305419896]}
     */
    // Template#: 12573, Serial#: 6098
    public void rip_unpcklpd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x14, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code unpcklpd  xmm0, [L1: +305419896]}
     */
    // Template#: 12574, Serial#: 6107
    public void rip_unpcklpd_r6107(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x14, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpcklpd  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12575, Serial#: 6102
    public void unpcklpd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x14, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpcklpd  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12576, Serial#: 6111
    public void unpcklpd_r6111(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x14, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpcklpd  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 12577, Serial#: 6097
    public void m_unpcklpd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x14, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpcklpd  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 12578, Serial#: 6106
    public void m_unpcklpd_r6106(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x14, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code unpcklpd  xmm0, [rbx + 305419896]}
     */
    // Template#: 12579, Serial#: 6101
    public void unpcklpd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x14, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code unpcklpd  xmm0, [rbx + 305419896]}
     */
    // Template#: 12580, Serial#: 6110
    public void unpcklpd_r6110(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x14, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpcklps  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 12581, Serial#: 5953
    public void unpcklps(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0190((byte) 0x14, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpcklps  xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 12582, Serial#: 5962
    public void unpcklps_r5962(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0191((byte) 0x14, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code unpcklps  xmm0, [rbx + 18]}
     */
    // Template#: 12583, Serial#: 5952
    public void unpcklps(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0192((byte) 0x14, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code unpcklps  xmm0, [rbx + 18]}
     */
    // Template#: 12584, Serial#: 5961
    public void unpcklps_r5961(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0193((byte) 0x14, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpcklps  xmm0, rbx[rsi * 4]}
     */
    // Template#: 12585, Serial#: 5949
    public void unpcklps(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0194((byte) 0x14, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpcklps  xmm0, rbx[rsi * 4]}
     */
    // Template#: 12586, Serial#: 5958
    public void unpcklps_r5958(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0195((byte) 0x14, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code unpcklps  xmm0, [rbx]}
     */
    // Template#: 12587, Serial#: 5948
    public void unpcklps(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0196((byte) 0x14, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code unpcklps  xmm0, [rbx]}
     */
    // Template#: 12588, Serial#: 5957
    public void unpcklps_r5957(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0197((byte) 0x14, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code unpcklps  xmm0, xmm0}
     */
    // Template#: 12589, Serial#: 5956
    public void unpcklps(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0198((byte) 0x14, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code unpcklps  xmm0, xmm0}
     */
    // Template#: 12590, Serial#: 5965
    public void unpcklps_r5965(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0199((byte) 0x14, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code unpcklps  xmm0, [L1: +305419896]}
     */
    // Template#: 12591, Serial#: 5951
    public void rip_unpcklps(AMD64XMMRegister destination, int rel32) {
        assemble0200((byte) 0x14, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code unpcklps  xmm0, [L1: +305419896]}
     */
    // Template#: 12592, Serial#: 5960
    public void rip_unpcklps_r5960(AMD64XMMRegister destination, int rel32) {
        assemble0201((byte) 0x14, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpcklps  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12593, Serial#: 5955
    public void unpcklps(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0202((byte) 0x14, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpcklps  xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12594, Serial#: 5964
    public void unpcklps_r5964(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0203((byte) 0x14, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpcklps  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 12595, Serial#: 5950
    public void m_unpcklps(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0204((byte) 0x14, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code unpcklps  xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 12596, Serial#: 5959
    public void m_unpcklps_r5959(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0205((byte) 0x14, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code unpcklps  xmm0, [rbx + 305419896]}
     */
    // Template#: 12597, Serial#: 5954
    public void unpcklps(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0206((byte) 0x14, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code unpcklps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code unpcklps  xmm0, [rbx + 305419896]}
     */
    // Template#: 12598, Serial#: 5963
    public void unpcklps_r5963(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0207((byte) 0x14, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code verr  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code verr      rbx[rsi * 4 + 18]}
     */
    // Template#: 12599, Serial#: 5516
    public void verr(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0349((byte) 0x00, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code verr  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code verr      rbx[rsi * 4 + 18]}
     */
    // Template#: 12600, Serial#: 5568
    public void verr_r5568(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0350((byte) 0x00, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code verr  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code verr      rbx[rsi * 4 + 18]}
     */
    // Template#: 12601, Serial#: 5620
    public void verr_r5620(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0351((byte) 0x00, (byte) 0x04, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code verr  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code verr      [rbx + 18]}
     */
    // Template#: 12602, Serial#: 5515
    public void verr(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0352((byte) 0x00, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code verr  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code verr      [rbx + 18]}
     */
    // Template#: 12603, Serial#: 5567
    public void verr_r5567(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0353((byte) 0x00, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code verr  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code verr      [rbx + 18]}
     */
    // Template#: 12604, Serial#: 5619
    public void verr_r5619(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0354((byte) 0x00, (byte) 0x04, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code verr  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code verr      rbx[rsi * 4]}
     */
    // Template#: 12605, Serial#: 5500
    public void verr(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0355((byte) 0x00, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code verr  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code verr      rbx[rsi * 4]}
     */
    // Template#: 12606, Serial#: 5552
    public void verr_r5552(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0356((byte) 0x00, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code verr  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code verr      rbx[rsi * 4]}
     */
    // Template#: 12607, Serial#: 5604
    public void verr_r5604(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0357((byte) 0x00, (byte) 0x04, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code verr  }<i>destination</i>
     * Example disassembly syntax: {@code verr      ax}
     */
    // Template#: 12608, Serial#: 5533
    public void verr(AMD64GeneralRegister16 destination) {
        assemble0695((byte) 0x00, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code verr  }<i>destination</i>
     * Example disassembly syntax: {@code verr      ax}
     */
    // Template#: 12609, Serial#: 5585
    public void verr_r5585(AMD64GeneralRegister16 destination) {
        assemble0696((byte) 0x00, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code verr  }<i>destination</i>
     * Example disassembly syntax: {@code verr      ax}
     */
    // Template#: 12610, Serial#: 5637
    public void verr_r5637(AMD64GeneralRegister16 destination) {
        assemble0697((byte) 0x00, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code verr  }<i>destination</i>
     * Example disassembly syntax: {@code verr      [rbx]}
     */
    // Template#: 12611, Serial#: 5499
    public void verr(AMD64IndirectRegister64 destination) {
        assemble0358((byte) 0x00, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code verr  }<i>destination</i>
     * Example disassembly syntax: {@code verr      [rbx]}
     */
    // Template#: 12612, Serial#: 5551
    public void verr_r5551(AMD64IndirectRegister64 destination) {
        assemble0359((byte) 0x00, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code verr  }<i>destination</i>
     * Example disassembly syntax: {@code verr      [rbx]}
     */
    // Template#: 12613, Serial#: 5603
    public void verr_r5603(AMD64IndirectRegister64 destination) {
        assemble0360((byte) 0x00, (byte) 0x04, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code verr  }<i>rel32</i>
     * Example disassembly syntax: {@code verr      [L1: +305419896]}
     */
    // Template#: 12614, Serial#: 5502
    public void rip_verr(int rel32) {
        assemble0361((byte) 0x00, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code verr  }<i>rel32</i>
     * Example disassembly syntax: {@code verr      [L1: +305419896]}
     */
    // Template#: 12615, Serial#: 5554
    public void rip_verr_r5554(int rel32) {
        assemble0362((byte) 0x00, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code verr  }<i>rel32</i>
     * Example disassembly syntax: {@code verr      [L1: +305419896]}
     */
    // Template#: 12616, Serial#: 5606
    public void rip_verr_r5606(int rel32) {
        assemble0363((byte) 0x00, (byte) 0x04, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code verr  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code verr      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12617, Serial#: 5528
    public void verr(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0364((byte) 0x00, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code verr  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code verr      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12618, Serial#: 5580
    public void verr_r5580(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0365((byte) 0x00, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code verr  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code verr      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12619, Serial#: 5632
    public void verr_r5632(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0366((byte) 0x00, (byte) 0x04, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code verr  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code verr      0x12345678[rsi * 4]}
     */
    // Template#: 12620, Serial#: 5501
    public void m_verr(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0367((byte) 0x00, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code verr  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code verr      0x12345678[rsi * 4]}
     */
    // Template#: 12621, Serial#: 5553
    public void m_verr_r5553(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0368((byte) 0x00, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code verr  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code verr      0x12345678[rsi * 4]}
     */
    // Template#: 12622, Serial#: 5605
    public void m_verr_r5605(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0369((byte) 0x00, (byte) 0x04, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code verr  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code verr      [rbx + 305419896]}
     */
    // Template#: 12623, Serial#: 5527
    public void verr(int disp32, AMD64IndirectRegister64 destination) {
        assemble0370((byte) 0x00, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code verr  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code verr      [rbx + 305419896]}
     */
    // Template#: 12624, Serial#: 5579
    public void verr_r5579(int disp32, AMD64IndirectRegister64 destination) {
        assemble0371((byte) 0x00, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code verr  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code verr      [rbx + 305419896]}
     */
    // Template#: 12625, Serial#: 5631
    public void verr_r5631(int disp32, AMD64IndirectRegister64 destination) {
        assemble0372((byte) 0x00, (byte) 0x04, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code verw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code verw      rbx[rsi * 4 + 18]}
     */
    // Template#: 12626, Serial#: 5518
    public void verw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0349((byte) 0x00, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code verw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code verw      rbx[rsi * 4 + 18]}
     */
    // Template#: 12627, Serial#: 5570
    public void verw_r5570(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0350((byte) 0x00, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code verw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code verw      rbx[rsi * 4 + 18]}
     */
    // Template#: 12628, Serial#: 5622
    public void verw_r5622(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0351((byte) 0x00, (byte) 0x05, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code verw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code verw      [rbx + 18]}
     */
    // Template#: 12629, Serial#: 5517
    public void verw(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0352((byte) 0x00, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code verw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code verw      [rbx + 18]}
     */
    // Template#: 12630, Serial#: 5569
    public void verw_r5569(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0353((byte) 0x00, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code verw  }<i>disp8</i>, <i>destination</i>
     * Example disassembly syntax: {@code verw      [rbx + 18]}
     */
    // Template#: 12631, Serial#: 5621
    public void verw_r5621(byte disp8, AMD64IndirectRegister64 destination) {
        assemble0354((byte) 0x00, (byte) 0x05, disp8, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code verw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code verw      rbx[rsi * 4]}
     */
    // Template#: 12632, Serial#: 5504
    public void verw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0355((byte) 0x00, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code verw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code verw      rbx[rsi * 4]}
     */
    // Template#: 12633, Serial#: 5556
    public void verw_r5556(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0356((byte) 0x00, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code verw  }<i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code verw      rbx[rsi * 4]}
     */
    // Template#: 12634, Serial#: 5608
    public void verw_r5608(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0357((byte) 0x00, (byte) 0x05, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code verw  }<i>destination</i>
     * Example disassembly syntax: {@code verw      ax}
     */
    // Template#: 12635, Serial#: 5534
    public void verw(AMD64GeneralRegister16 destination) {
        assemble0695((byte) 0x00, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code verw  }<i>destination</i>
     * Example disassembly syntax: {@code verw      ax}
     */
    // Template#: 12636, Serial#: 5586
    public void verw_r5586(AMD64GeneralRegister16 destination) {
        assemble0696((byte) 0x00, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code verw  }<i>destination</i>
     * Example disassembly syntax: {@code verw      ax}
     */
    // Template#: 12637, Serial#: 5638
    public void verw_r5638(AMD64GeneralRegister16 destination) {
        assemble0697((byte) 0x00, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code verw  }<i>destination</i>
     * Example disassembly syntax: {@code verw      [rbx]}
     */
    // Template#: 12638, Serial#: 5503
    public void verw(AMD64IndirectRegister64 destination) {
        assemble0358((byte) 0x00, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code verw  }<i>destination</i>
     * Example disassembly syntax: {@code verw      [rbx]}
     */
    // Template#: 12639, Serial#: 5555
    public void verw_r5555(AMD64IndirectRegister64 destination) {
        assemble0359((byte) 0x00, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code verw  }<i>destination</i>
     * Example disassembly syntax: {@code verw      [rbx]}
     */
    // Template#: 12640, Serial#: 5607
    public void verw_r5607(AMD64IndirectRegister64 destination) {
        assemble0360((byte) 0x00, (byte) 0x05, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code verw  }<i>rel32</i>
     * Example disassembly syntax: {@code verw      [L1: +305419896]}
     */
    // Template#: 12641, Serial#: 5506
    public void rip_verw(int rel32) {
        assemble0361((byte) 0x00, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code verw  }<i>rel32</i>
     * Example disassembly syntax: {@code verw      [L1: +305419896]}
     */
    // Template#: 12642, Serial#: 5558
    public void rip_verw_r5558(int rel32) {
        assemble0362((byte) 0x00, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code verw  }<i>rel32</i>
     * Example disassembly syntax: {@code verw      [L1: +305419896]}
     */
    // Template#: 12643, Serial#: 5610
    public void rip_verw_r5610(int rel32) {
        assemble0363((byte) 0x00, (byte) 0x05, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code verw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code verw      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12644, Serial#: 5530
    public void verw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0364((byte) 0x00, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code verw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code verw      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12645, Serial#: 5582
    public void verw_r5582(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0365((byte) 0x00, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code verw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code verw      rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12646, Serial#: 5634
    public void verw_r5634(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0366((byte) 0x00, (byte) 0x05, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code verw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code verw      0x12345678[rsi * 4]}
     */
    // Template#: 12647, Serial#: 5505
    public void m_verw(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0367((byte) 0x00, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code verw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code verw      0x12345678[rsi * 4]}
     */
    // Template#: 12648, Serial#: 5557
    public void m_verw_r5557(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0368((byte) 0x00, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code verw  }<i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code verw      0x12345678[rsi * 4]}
     */
    // Template#: 12649, Serial#: 5609
    public void m_verw_r5609(int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0369((byte) 0x00, (byte) 0x05, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code verw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code verw      [rbx + 305419896]}
     */
    // Template#: 12650, Serial#: 5529
    public void verw(int disp32, AMD64IndirectRegister64 destination) {
        assemble0370((byte) 0x00, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code verw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code verw      [rbx + 305419896]}
     */
    // Template#: 12651, Serial#: 5581
    public void verw_r5581(int disp32, AMD64IndirectRegister64 destination) {
        assemble0371((byte) 0x00, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code verw  }<i>disp32</i>, <i>destination</i>
     * Example disassembly syntax: {@code verw      [rbx + 305419896]}
     */
    // Template#: 12652, Serial#: 5633
    public void verw_r5633(int disp32, AMD64IndirectRegister64 destination) {
        assemble0372((byte) 0x00, (byte) 0x05, disp32, destination);
    }

    /**
     * Pseudo-external assembler syntax: {@code wbinvd  }
     * Example disassembly syntax: {@code wbinvd  }
     */
    // Template#: 12653, Serial#: 9120
    public void wbinvd() {
        assemble0373((byte) 0x09);
    }

    /**
     * Pseudo-external assembler syntax: {@code wbinvd  }
     * Example disassembly syntax: {@code wbinvd  }
     */
    // Template#: 12654, Serial#: 9121
    public void wbinvd_r9121() {
        assemble0374((byte) 0x09);
    }

    /**
     * Pseudo-external assembler syntax: {@code wbinvd  }
     * Example disassembly syntax: {@code wbinvd  }
     */
    // Template#: 12655, Serial#: 9122
    public void wbinvd_r9122() {
        assemble0375((byte) 0x09);
    }

    /**
     * Pseudo-external assembler syntax: {@code wrmsr  }
     * Example disassembly syntax: {@code wrmsr   }
     */
    // Template#: 12656, Serial#: 6353
    public void wrmsr() {
        assemble0373((byte) 0x30);
    }

    /**
     * Pseudo-external assembler syntax: {@code wrmsr  }
     * Example disassembly syntax: {@code wrmsr   }
     */
    // Template#: 12657, Serial#: 6354
    public void wrmsr_r6354() {
        assemble0374((byte) 0x30);
    }

    /**
     * Pseudo-external assembler syntax: {@code wrmsr  }
     * Example disassembly syntax: {@code wrmsr   }
     */
    // Template#: 12658, Serial#: 6355
    public void wrmsr_r6355() {
        assemble0375((byte) 0x30);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      rbx[rsi * 4 + 18], ax}
     */
    // Template#: 12659, Serial#: 7996
    public void xadd(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0279((byte) 0xC1, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      rbx[rsi * 4 + 18], eax}
     */
    // Template#: 12660, Serial#: 7978
    public void xadd(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0280((byte) 0xC1, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      rbx[rsi * 4 + 18], rax}
     */
    // Template#: 12661, Serial#: 7987
    public void xadd(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0281((byte) 0xC1, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      rbx[rsi * 4 + 18], al}
     */
    // Template#: 12662, Serial#: 7951
    public void xadd(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0448((byte) 0xC0, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      rbx[rsi * 4 + 18], al}
     */
    // Template#: 12663, Serial#: 7960
    public void xadd_r7960(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0449((byte) 0xC0, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      rbx[rsi * 4 + 18], al}
     */
    // Template#: 12664, Serial#: 7969
    public void xadd_r7969(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0450((byte) 0xC0, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      [rbx + 18], ax}
     */
    // Template#: 12665, Serial#: 7995
    public void xadd(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0285((byte) 0xC1, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      [rbx + 18], eax}
     */
    // Template#: 12666, Serial#: 7977
    public void xadd(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0286((byte) 0xC1, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      [rbx + 18], rax}
     */
    // Template#: 12667, Serial#: 7986
    public void xadd(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0287((byte) 0xC1, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      [rbx + 18], al}
     */
    // Template#: 12668, Serial#: 7950
    public void xadd(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0451((byte) 0xC0, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      [rbx + 18], al}
     */
    // Template#: 12669, Serial#: 7959
    public void xadd_r7959(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0452((byte) 0xC0, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      [rbx + 18], al}
     */
    // Template#: 12670, Serial#: 7968
    public void xadd_r7968(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0453((byte) 0xC0, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      rbx[rsi * 4], ax}
     */
    // Template#: 12671, Serial#: 7992
    public void xadd(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0291((byte) 0xC1, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      rbx[rsi * 4], eax}
     */
    // Template#: 12672, Serial#: 7974
    public void xadd(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0292((byte) 0xC1, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      rbx[rsi * 4], rax}
     */
    // Template#: 12673, Serial#: 7983
    public void xadd(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0293((byte) 0xC1, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      rbx[rsi * 4], al}
     */
    // Template#: 12674, Serial#: 7947
    public void xadd(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0454((byte) 0xC0, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      rbx[rsi * 4], al}
     */
    // Template#: 12675, Serial#: 7956
    public void xadd_r7956(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0455((byte) 0xC0, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      rbx[rsi * 4], al}
     */
    // Template#: 12676, Serial#: 7965
    public void xadd_r7965(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0456((byte) 0xC0, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      ax, ax}
     */
    // Template#: 12677, Serial#: 7999
    public void xadd(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0295((byte) 0xC1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      eax, eax}
     */
    // Template#: 12678, Serial#: 7981
    public void xadd(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0297((byte) 0xC1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      rax, rax}
     */
    // Template#: 12679, Serial#: 7990
    public void xadd(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0299((byte) 0xC1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      al, al}
     */
    // Template#: 12680, Serial#: 7954
    public void xadd(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0457((byte) 0xC0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      al, al}
     */
    // Template#: 12681, Serial#: 7963
    public void xadd_r7963(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0458((byte) 0xC0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      al, al}
     */
    // Template#: 12682, Serial#: 7972
    public void xadd_r7972(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0459((byte) 0xC0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      [rbx], ax}
     */
    // Template#: 12683, Serial#: 7991
    public void xadd(AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0303((byte) 0xC1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      [rbx], eax}
     */
    // Template#: 12684, Serial#: 7973
    public void xadd(AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0304((byte) 0xC1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      [rbx], rax}
     */
    // Template#: 12685, Serial#: 7982
    public void xadd(AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0305((byte) 0xC1, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      [rbx], al}
     */
    // Template#: 12686, Serial#: 7946
    public void xadd(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0460((byte) 0xC0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      [rbx], al}
     */
    // Template#: 12687, Serial#: 7955
    public void xadd_r7955(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0461((byte) 0xC0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      [rbx], al}
     */
    // Template#: 12688, Serial#: 7964
    public void xadd_r7964(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0462((byte) 0xC0, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      rbx[rsi * 4 + 305419896], ax}
     */
    // Template#: 12689, Serial#: 7998
    public void xadd(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0312((byte) 0xC1, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      rbx[rsi * 4 + 305419896], eax}
     */
    // Template#: 12690, Serial#: 7980
    public void xadd(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0313((byte) 0xC1, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      rbx[rsi * 4 + 305419896], rax}
     */
    // Template#: 12691, Serial#: 7989
    public void xadd(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0314((byte) 0xC1, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 12692, Serial#: 7953
    public void xadd(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0463((byte) 0xC0, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 12693, Serial#: 7962
    public void xadd_r7962(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0464((byte) 0xC0, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 12694, Serial#: 7971
    public void xadd_r7971(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0465((byte) 0xC0, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      [L1: +305419896], ax}
     */
    // Template#: 12695, Serial#: 7994
    public void rip_xadd(int rel32, AMD64GeneralRegister16 source) {
        assemble0315((byte) 0xC1, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      [L1: +305419896], eax}
     */
    // Template#: 12696, Serial#: 7976
    public void rip_xadd(int rel32, AMD64GeneralRegister32 source) {
        assemble0316((byte) 0xC1, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      [L1: +305419896], rax}
     */
    // Template#: 12697, Serial#: 7985
    public void rip_xadd(int rel32, AMD64GeneralRegister64 source) {
        assemble0317((byte) 0xC1, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      [L1: +305419896], al}
     */
    // Template#: 12698, Serial#: 7949
    public void rip_xadd(int rel32, AMD64GeneralRegister8 source) {
        assemble0466((byte) 0xC0, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      [L1: +305419896], al}
     */
    // Template#: 12699, Serial#: 7958
    public void rip_xadd_r7958(int rel32, AMD64GeneralRegister8 source) {
        assemble0467((byte) 0xC0, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      [L1: +305419896], al}
     */
    // Template#: 12700, Serial#: 7967
    public void rip_xadd_r7967(int rel32, AMD64GeneralRegister8 source) {
        assemble0468((byte) 0xC0, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      0x12345678[rsi * 4], ax}
     */
    // Template#: 12701, Serial#: 7993
    public void m_xadd(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0321((byte) 0xC1, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      0x12345678[rsi * 4], eax}
     */
    // Template#: 12702, Serial#: 7975
    public void m_xadd(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0322((byte) 0xC1, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      0x12345678[rsi * 4], rax}
     */
    // Template#: 12703, Serial#: 7984
    public void m_xadd(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0323((byte) 0xC1, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      0x12345678[rsi * 4], al}
     */
    // Template#: 12704, Serial#: 7948
    public void m_xadd(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0469((byte) 0xC0, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      0x12345678[rsi * 4], al}
     */
    // Template#: 12705, Serial#: 7957
    public void m_xadd_r7957(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0470((byte) 0xC0, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      0x12345678[rsi * 4], al}
     */
    // Template#: 12706, Serial#: 7966
    public void m_xadd_r7966(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0471((byte) 0xC0, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      [rbx + 305419896], ax}
     */
    // Template#: 12707, Serial#: 7997
    public void xadd(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0327((byte) 0xC1, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      [rbx + 305419896], eax}
     */
    // Template#: 12708, Serial#: 7979
    public void xadd(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0328((byte) 0xC1, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      [rbx + 305419896], rax}
     */
    // Template#: 12709, Serial#: 7988
    public void xadd(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0329((byte) 0xC1, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      [rbx + 305419896], al}
     */
    // Template#: 12710, Serial#: 7952
    public void xadd(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0472((byte) 0xC0, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      [rbx + 305419896], al}
     */
    // Template#: 12711, Serial#: 7961
    public void xadd_r7961(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0473((byte) 0xC0, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xadd  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xadd      [rbx + 305419896], al}
     */
    // Template#: 12712, Serial#: 7970
    public void xadd_r7970(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0474((byte) 0xC0, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      rbx[rsi * 4 + 18], ax}
     */
    // Template#: 12713, Serial#: 1249
    public void xchg(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0007((byte) 0x87, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      rbx[rsi * 4 + 18], eax}
     */
    // Template#: 12714, Serial#: 1231
    public void xchg(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0008((byte) 0x87, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      rbx[rsi * 4 + 18], rax}
     */
    // Template#: 12715, Serial#: 1240
    public void xchg(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0009((byte) 0x87, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      rbx[rsi * 4 + 18], al}
     */
    // Template#: 12716, Serial#: 1204
    public void xchg(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0010((byte) 0x86, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      rbx[rsi * 4 + 18], al}
     */
    // Template#: 12717, Serial#: 1213
    public void xchg_r1213(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0011((byte) 0x86, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      rbx[rsi * 4 + 18], al}
     */
    // Template#: 12718, Serial#: 1222
    public void xchg_r1222(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0012((byte) 0x86, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      [rbx + 18], ax}
     */
    // Template#: 12719, Serial#: 1248
    public void xchg(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0019((byte) 0x87, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      [rbx + 18], eax}
     */
    // Template#: 12720, Serial#: 1230
    public void xchg(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0020((byte) 0x87, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      [rbx + 18], rax}
     */
    // Template#: 12721, Serial#: 1239
    public void xchg(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0021((byte) 0x87, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      [rbx + 18], al}
     */
    // Template#: 12722, Serial#: 1203
    public void xchg(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0022((byte) 0x86, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      [rbx + 18], al}
     */
    // Template#: 12723, Serial#: 1212
    public void xchg_r1212(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0023((byte) 0x86, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      [rbx + 18], al}
     */
    // Template#: 12724, Serial#: 1221
    public void xchg_r1221(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0024((byte) 0x86, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      rbx[rsi * 4], ax}
     */
    // Template#: 12725, Serial#: 1245
    public void xchg(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0031((byte) 0x87, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      rbx[rsi * 4], eax}
     */
    // Template#: 12726, Serial#: 1227
    public void xchg(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0032((byte) 0x87, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      rbx[rsi * 4], rax}
     */
    // Template#: 12727, Serial#: 1236
    public void xchg(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0033((byte) 0x87, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      rbx[rsi * 4], al}
     */
    // Template#: 12728, Serial#: 1200
    public void xchg(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0034((byte) 0x86, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      rbx[rsi * 4], al}
     */
    // Template#: 12729, Serial#: 1209
    public void xchg_r1209(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0035((byte) 0x86, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      rbx[rsi * 4], al}
     */
    // Template#: 12730, Serial#: 1218
    public void xchg_r1218(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0036((byte) 0x86, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>register</i>
     * Example disassembly syntax: {@code xchg      ax, ax}
     */
    // Template#: 12731, Serial#: 1258
    public void xchg___AX(AMD64GeneralRegister16 register) {
        assemble1024((byte) 0x90, register);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      ax, ax}
     */
    // Template#: 12732, Serial#: 1252
    public void xchg(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0044((byte) 0x87, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>register</i>
     * Example disassembly syntax: {@code xchg      eax, eax}
     */
    // Template#: 12733, Serial#: 1256
    public void xchg___EAX(AMD64GeneralRegister32 register) {
        assemble1185((byte) 0x90, register);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      eax, eax}
     */
    // Template#: 12734, Serial#: 1234
    public void xchg(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0056((byte) 0x87, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>register</i>
     * Example disassembly syntax: {@code xchg      rax, rax}
     */
    // Template#: 12735, Serial#: 1257
    public void xchg___RAX(AMD64GeneralRegister64 register) {
        assemble1186((byte) 0x90, register);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      rax, rax}
     */
    // Template#: 12736, Serial#: 1243
    public void xchg(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0068((byte) 0x87, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      al, al}
     */
    // Template#: 12737, Serial#: 1207
    public void xchg(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0088((byte) 0x86, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      al, al}
     */
    // Template#: 12738, Serial#: 1216
    public void xchg_r1216(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0089((byte) 0x86, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      al, al}
     */
    // Template#: 12739, Serial#: 1225
    public void xchg_r1225(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0090((byte) 0x86, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      [rbx], ax}
     */
    // Template#: 12740, Serial#: 1244
    public void xchg(AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0112((byte) 0x87, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      [rbx], eax}
     */
    // Template#: 12741, Serial#: 1226
    public void xchg(AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0113((byte) 0x87, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      [rbx], rax}
     */
    // Template#: 12742, Serial#: 1235
    public void xchg(AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0114((byte) 0x87, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      [rbx], al}
     */
    // Template#: 12743, Serial#: 1199
    public void xchg(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0115((byte) 0x86, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      [rbx], al}
     */
    // Template#: 12744, Serial#: 1208
    public void xchg_r1208(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0116((byte) 0x86, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      [rbx], al}
     */
    // Template#: 12745, Serial#: 1217
    public void xchg_r1217(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0117((byte) 0x86, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      rbx[rsi * 4 + 305419896], ax}
     */
    // Template#: 12746, Serial#: 1251
    public void xchg(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0129((byte) 0x87, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      rbx[rsi * 4 + 305419896], eax}
     */
    // Template#: 12747, Serial#: 1233
    public void xchg(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0130((byte) 0x87, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      rbx[rsi * 4 + 305419896], rax}
     */
    // Template#: 12748, Serial#: 1242
    public void xchg(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0131((byte) 0x87, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 12749, Serial#: 1206
    public void xchg(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0132((byte) 0x86, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 12750, Serial#: 1215
    public void xchg_r1215(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0133((byte) 0x86, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 12751, Serial#: 1224
    public void xchg_r1224(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0134((byte) 0x86, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      [L1: +305419896], ax}
     */
    // Template#: 12752, Serial#: 1247
    public void rip_xchg(int rel32, AMD64GeneralRegister16 source) {
        assemble0138((byte) 0x87, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      [L1: +305419896], eax}
     */
    // Template#: 12753, Serial#: 1229
    public void rip_xchg(int rel32, AMD64GeneralRegister32 source) {
        assemble0139((byte) 0x87, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      [L1: +305419896], rax}
     */
    // Template#: 12754, Serial#: 1238
    public void rip_xchg(int rel32, AMD64GeneralRegister64 source) {
        assemble0140((byte) 0x87, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      [L1: +305419896], al}
     */
    // Template#: 12755, Serial#: 1202
    public void rip_xchg(int rel32, AMD64GeneralRegister8 source) {
        assemble0141((byte) 0x86, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      [L1: +305419896], al}
     */
    // Template#: 12756, Serial#: 1211
    public void rip_xchg_r1211(int rel32, AMD64GeneralRegister8 source) {
        assemble0142((byte) 0x86, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      [L1: +305419896], al}
     */
    // Template#: 12757, Serial#: 1220
    public void rip_xchg_r1220(int rel32, AMD64GeneralRegister8 source) {
        assemble0143((byte) 0x86, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      0x12345678[rsi * 4], ax}
     */
    // Template#: 12758, Serial#: 1246
    public void m_xchg(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0147((byte) 0x87, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      0x12345678[rsi * 4], eax}
     */
    // Template#: 12759, Serial#: 1228
    public void m_xchg(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0148((byte) 0x87, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      0x12345678[rsi * 4], rax}
     */
    // Template#: 12760, Serial#: 1237
    public void m_xchg(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0149((byte) 0x87, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      0x12345678[rsi * 4], al}
     */
    // Template#: 12761, Serial#: 1201
    public void m_xchg(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0150((byte) 0x86, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      0x12345678[rsi * 4], al}
     */
    // Template#: 12762, Serial#: 1210
    public void m_xchg_r1210(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0151((byte) 0x86, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      0x12345678[rsi * 4], al}
     */
    // Template#: 12763, Serial#: 1219
    public void m_xchg_r1219(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0152((byte) 0x86, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      [rbx + 305419896], ax}
     */
    // Template#: 12764, Serial#: 1250
    public void xchg(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0159((byte) 0x87, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      [rbx + 305419896], eax}
     */
    // Template#: 12765, Serial#: 1232
    public void xchg(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0160((byte) 0x87, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      [rbx + 305419896], rax}
     */
    // Template#: 12766, Serial#: 1241
    public void xchg(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0161((byte) 0x87, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      [rbx + 305419896], al}
     */
    // Template#: 12767, Serial#: 1205
    public void xchg(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0162((byte) 0x86, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      [rbx + 305419896], al}
     */
    // Template#: 12768, Serial#: 1214
    public void xchg_r1214(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0163((byte) 0x86, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xchg  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xchg      [rbx + 305419896], al}
     */
    // Template#: 12769, Serial#: 1223
    public void xchg_r1223(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0164((byte) 0x86, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xlat  }
     * Example disassembly syntax: {@code xlat    }
     */
    // Template#: 12770, Serial#: 2640
    public void xlat() {
        assemble0208((byte) 0xD7);
    }

    /**
     * Pseudo-external assembler syntax: {@code xlat  }
     * Example disassembly syntax: {@code xlat    }
     */
    // Template#: 12771, Serial#: 2641
    public void xlat_r2641() {
        assemble0209((byte) 0xD7);
    }

    /**
     * Pseudo-external assembler syntax: {@code xlat  }
     * Example disassembly syntax: {@code xlat    }
     */
    // Template#: 12772, Serial#: 2642
    public void xlat_r2642() {
        assemble0210((byte) 0xD7);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>imm8</i>
     * Example disassembly syntax: {@code xor       al, 0x12}
     */
    // Template#: 12773, Serial#: 451
    public void xor_AL(byte imm8) {
        assemble0001((byte) 0x34, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>imm8</i>
     * Example disassembly syntax: {@code xor       al, 0x12}
     */
    // Template#: 12774, Serial#: 452
    public void xor_AL_r452(byte imm8) {
        assemble0002((byte) 0x34, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>imm8</i>
     * Example disassembly syntax: {@code xor       al, 0x12}
     */
    // Template#: 12775, Serial#: 453
    public void xor_AL_r453(byte imm8) {
        assemble0003((byte) 0x34, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 12776, Serial#: 542
    public void xorb(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0x80, (byte) 0x06, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 12777, Serial#: 614
    public void xorb_r614(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0x80, (byte) 0x06, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorb  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorb      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 12778, Serial#: 686
    public void xorb_r686(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0x80, (byte) 0x06, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorl      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 12779, Serial#: 974
    public void xorl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0004((byte) 0x83, (byte) 0x06, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorq      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 12780, Serial#: 1046
    public void xorq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0005((byte) 0x83, (byte) 0x06, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorw      rbx[rsi * 4 + 18], 0x12}
     */
    // Template#: 12781, Serial#: 1118
    public void xorw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0006((byte) 0x83, (byte) 0x06, disp8, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       rbx[rsi * 4 + 18], ax}
     */
    // Template#: 12782, Serial#: 393
    public void xor(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0007((byte) 0x31, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       rbx[rsi * 4 + 18], eax}
     */
    // Template#: 12783, Serial#: 375
    public void xor(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0008((byte) 0x31, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       rbx[rsi * 4 + 18], rax}
     */
    // Template#: 12784, Serial#: 384
    public void xor(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0009((byte) 0x31, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       rbx[rsi * 4 + 18], al}
     */
    // Template#: 12785, Serial#: 348
    public void xor(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0010((byte) 0x30, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       rbx[rsi * 4 + 18], al}
     */
    // Template#: 12786, Serial#: 357
    public void xor_r357(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0011((byte) 0x30, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       rbx[rsi * 4 + 18], al}
     */
    // Template#: 12787, Serial#: 366
    public void xor_r366(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0012((byte) 0x30, disp8, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorl  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code xorl      rbx[rsi * 4 + 18], 0x12345678}
     */
    // Template#: 12788, Serial#: 758
    public void xorl(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0013((byte) 0x81, (byte) 0x06, disp8, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorq  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code xorq      rbx[rsi * 4 + 18], 0x12345678}
     */
    // Template#: 12789, Serial#: 830
    public void xorq(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0014((byte) 0x81, (byte) 0x06, disp8, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorw  }<i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code xorw      rbx[rsi * 4 + 18], 0x1234}
     */
    // Template#: 12790, Serial#: 902
    public void xorw(byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0015((byte) 0x81, (byte) 0x06, disp8, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorb      [rbx + 18], 0x12}
     */
    // Template#: 12791, Serial#: 541
    public void xorb(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0x80, (byte) 0x06, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorb      [rbx + 18], 0x12}
     */
    // Template#: 12792, Serial#: 613
    public void xorb_r613(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0x80, (byte) 0x06, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorb  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorb      [rbx + 18], 0x12}
     */
    // Template#: 12793, Serial#: 685
    public void xorb_r685(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0x80, (byte) 0x06, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorl  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorl      [rbx + 18], 0x12}
     */
    // Template#: 12794, Serial#: 973
    public void xorl(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0016((byte) 0x83, (byte) 0x06, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorq  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorq      [rbx + 18], 0x12}
     */
    // Template#: 12795, Serial#: 1045
    public void xorq(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0017((byte) 0x83, (byte) 0x06, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorw  }<i>disp8</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorw      [rbx + 18], 0x12}
     */
    // Template#: 12796, Serial#: 1117
    public void xorw(byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0018((byte) 0x83, (byte) 0x06, disp8, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       [rbx + 18], ax}
     */
    // Template#: 12797, Serial#: 392
    public void xor(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0019((byte) 0x31, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       [rbx + 18], eax}
     */
    // Template#: 12798, Serial#: 374
    public void xor(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0020((byte) 0x31, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       [rbx + 18], rax}
     */
    // Template#: 12799, Serial#: 383
    public void xor(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0021((byte) 0x31, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       [rbx + 18], al}
     */
    // Template#: 12800, Serial#: 347
    public void xor(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0022((byte) 0x30, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       [rbx + 18], al}
     */
    // Template#: 12801, Serial#: 356
    public void xor_r356(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0023((byte) 0x30, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>disp8</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       [rbx + 18], al}
     */
    // Template#: 12802, Serial#: 365
    public void xor_r365(byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0024((byte) 0x30, disp8, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorl  }<i>disp8</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code xorl      [rbx + 18], 0x12345678}
     */
    // Template#: 12803, Serial#: 757
    public void xorl(byte disp8, AMD64IndirectRegister64 destination, int imm32) {
        assemble0025((byte) 0x81, (byte) 0x06, disp8, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorq  }<i>disp8</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code xorq      [rbx + 18], 0x12345678}
     */
    // Template#: 12804, Serial#: 829
    public void xorq(byte disp8, AMD64IndirectRegister64 destination, int imm32) {
        assemble0026((byte) 0x81, (byte) 0x06, disp8, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorw  }<i>disp8</i>, <i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code xorw      [rbx + 18], 0x1234}
     */
    // Template#: 12805, Serial#: 901
    public void xorw(byte disp8, AMD64IndirectRegister64 destination, short imm16) {
        assemble0027((byte) 0x81, (byte) 0x06, disp8, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorb      rbx[rsi * 4], 0x12}
     */
    // Template#: 12806, Serial#: 522
    public void xorb(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0x80, (byte) 0x06, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorb      rbx[rsi * 4], 0x12}
     */
    // Template#: 12807, Serial#: 594
    public void xorb_r594(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0x80, (byte) 0x06, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorb  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorb      rbx[rsi * 4], 0x12}
     */
    // Template#: 12808, Serial#: 666
    public void xorb_r666(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0x80, (byte) 0x06, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorl  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorl      rbx[rsi * 4], 0x12}
     */
    // Template#: 12809, Serial#: 954
    public void xorl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0028((byte) 0x83, (byte) 0x06, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorq      rbx[rsi * 4], 0x12}
     */
    // Template#: 12810, Serial#: 1026
    public void xorq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0029((byte) 0x83, (byte) 0x06, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorw  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorw      rbx[rsi * 4], 0x12}
     */
    // Template#: 12811, Serial#: 1098
    public void xorw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0030((byte) 0x83, (byte) 0x06, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       rbx[rsi * 4], ax}
     */
    // Template#: 12812, Serial#: 389
    public void xor(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0031((byte) 0x31, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       rbx[rsi * 4], eax}
     */
    // Template#: 12813, Serial#: 371
    public void xor(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0032((byte) 0x31, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       rbx[rsi * 4], rax}
     */
    // Template#: 12814, Serial#: 380
    public void xor(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0033((byte) 0x31, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       rbx[rsi * 4], al}
     */
    // Template#: 12815, Serial#: 344
    public void xor(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0034((byte) 0x30, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       rbx[rsi * 4], al}
     */
    // Template#: 12816, Serial#: 353
    public void xor_r353(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0035((byte) 0x30, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       rbx[rsi * 4], al}
     */
    // Template#: 12817, Serial#: 362
    public void xor_r362(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0036((byte) 0x30, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorl  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code xorl      rbx[rsi * 4], 0x12345678}
     */
    // Template#: 12818, Serial#: 738
    public void xorl(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0037((byte) 0x81, (byte) 0x06, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorq  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code xorq      rbx[rsi * 4], 0x12345678}
     */
    // Template#: 12819, Serial#: 810
    public void xorq(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0038((byte) 0x81, (byte) 0x06, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorw  }<i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code xorw      rbx[rsi * 4], 0x1234}
     */
    // Template#: 12820, Serial#: 882
    public void xorw(AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0039((byte) 0x81, (byte) 0x06, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorw      ax, 0x12}
     */
    // Template#: 12821, Serial#: 1143
    public void xorw(AMD64GeneralRegister16 destination, byte imm8) {
        assemble0040((byte) 0x83, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xor       ax, rbx[rsi * 4 + 18]}
     */
    // Template#: 12822, Serial#: 447
    public void xor(AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0041((byte) 0x33, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       ax, [rbx + 18]}
     */
    // Template#: 12823, Serial#: 446
    public void xor(AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0042((byte) 0x33, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xor       ax, rbx[rsi * 4]}
     */
    // Template#: 12824, Serial#: 443
    public void xor(AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0043((byte) 0x33, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       ax, ax}
     */
    // Template#: 12825, Serial#: 396
    public void xor(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0044((byte) 0x31, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       ax, ax}
     */
    // Template#: 12826, Serial#: 450
    public void xor_r450(AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        assemble0045((byte) 0x33, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       ax, [rbx]}
     */
    // Template#: 12827, Serial#: 442
    public void xor(AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        assemble0046((byte) 0x33, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code xor       ax, [L1: +305419896]}
     */
    // Template#: 12828, Serial#: 445
    public void rip_xor(AMD64GeneralRegister16 destination, int rel32) {
        assemble0047((byte) 0x33, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xor       ax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12829, Serial#: 449
    public void xor(AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0048((byte) 0x33, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xor       ax, 0x12345678[rsi * 4]}
     */
    // Template#: 12830, Serial#: 444
    public void m_xor(AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0049((byte) 0x33, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       ax, [rbx + 305419896]}
     */
    // Template#: 12831, Serial#: 448
    public void xor(AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0050((byte) 0x33, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorw  }<i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code xorw      ax, 0x1234}
     */
    // Template#: 12832, Serial#: 927
    public void xorw(AMD64GeneralRegister16 destination, short imm16) {
        assemble0051((byte) 0x81, (byte) 0x06, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorl  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorl      eax, 0x12}
     */
    // Template#: 12833, Serial#: 999
    public void xorl(AMD64GeneralRegister32 destination, byte imm8) {
        assemble0052((byte) 0x83, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xor       eax, rbx[rsi * 4 + 18]}
     */
    // Template#: 12834, Serial#: 429
    public void xor(AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0053((byte) 0x33, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       eax, [rbx + 18]}
     */
    // Template#: 12835, Serial#: 428
    public void xor(AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0054((byte) 0x33, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xor       eax, rbx[rsi * 4]}
     */
    // Template#: 12836, Serial#: 425
    public void xor(AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0055((byte) 0x33, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       eax, eax}
     */
    // Template#: 12837, Serial#: 378
    public void xor(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0056((byte) 0x31, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       eax, eax}
     */
    // Template#: 12838, Serial#: 432
    public void xor_r432(AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        assemble0057((byte) 0x33, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       eax, [rbx]}
     */
    // Template#: 12839, Serial#: 424
    public void xor(AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        assemble0058((byte) 0x33, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code xor       eax, [L1: +305419896]}
     */
    // Template#: 12840, Serial#: 427
    public void rip_xor(AMD64GeneralRegister32 destination, int rel32) {
        assemble0059((byte) 0x33, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorl  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code xorl      eax, 0x12345678}
     */
    // Template#: 12841, Serial#: 783
    public void xorl(AMD64GeneralRegister32 destination, int imm32) {
        assemble0060((byte) 0x81, (byte) 0x06, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xor       eax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12842, Serial#: 431
    public void xor(AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0061((byte) 0x33, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xor       eax, 0x12345678[rsi * 4]}
     */
    // Template#: 12843, Serial#: 426
    public void m_xor(AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0062((byte) 0x33, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       eax, [rbx + 305419896]}
     */
    // Template#: 12844, Serial#: 430
    public void xor(AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0063((byte) 0x33, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorq      rax, 0x12}
     */
    // Template#: 12845, Serial#: 1071
    public void xorq(AMD64GeneralRegister64 destination, byte imm8) {
        assemble0064((byte) 0x83, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xor       rax, rbx[rsi * 4 + 18]}
     */
    // Template#: 12846, Serial#: 438
    public void xor(AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0065((byte) 0x33, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       rax, [rbx + 18]}
     */
    // Template#: 12847, Serial#: 437
    public void xor(AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0066((byte) 0x33, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xor       rax, rbx[rsi * 4]}
     */
    // Template#: 12848, Serial#: 434
    public void xor(AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0067((byte) 0x33, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       rax, rax}
     */
    // Template#: 12849, Serial#: 387
    public void xor(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0068((byte) 0x31, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       rax, rax}
     */
    // Template#: 12850, Serial#: 441
    public void xor_r441(AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0069((byte) 0x33, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       rax, [rbx]}
     */
    // Template#: 12851, Serial#: 433
    public void xor(AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        assemble0070((byte) 0x33, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code xor       rax, [L1: +305419896]}
     */
    // Template#: 12852, Serial#: 436
    public void rip_xor(AMD64GeneralRegister64 destination, int rel32) {
        assemble0071((byte) 0x33, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorq  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code xorq      rax, 0x12345678}
     */
    // Template#: 12853, Serial#: 855
    public void xorq(AMD64GeneralRegister64 destination, int imm32) {
        assemble0072((byte) 0x81, (byte) 0x06, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xor       rax, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12854, Serial#: 440
    public void xor(AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0073((byte) 0x33, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xor       rax, 0x12345678[rsi * 4]}
     */
    // Template#: 12855, Serial#: 435
    public void m_xor(AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0074((byte) 0x33, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       rax, [rbx + 305419896]}
     */
    // Template#: 12856, Serial#: 439
    public void xor(AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0075((byte) 0x33, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorb      al, 0x12}
     */
    // Template#: 12857, Serial#: 567
    public void xorb(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0076((byte) 0x80, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorb      al, 0x12}
     */
    // Template#: 12858, Serial#: 639
    public void xorb_r639(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0077((byte) 0x80, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorb      al, 0x12}
     */
    // Template#: 12859, Serial#: 711
    public void xorb_r711(AMD64GeneralRegister8 destination, byte imm8) {
        assemble0078((byte) 0x80, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xor       al, rbx[rsi * 4 + 18]}
     */
    // Template#: 12860, Serial#: 402
    public void xor(AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0079((byte) 0x32, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xor       al, rbx[rsi * 4 + 18]}
     */
    // Template#: 12861, Serial#: 411
    public void xor_r411(AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0080((byte) 0x32, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xor       al, rbx[rsi * 4 + 18]}
     */
    // Template#: 12862, Serial#: 420
    public void xor_r420(AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0081((byte) 0x32, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       al, [rbx + 18]}
     */
    // Template#: 12863, Serial#: 401
    public void xor(AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0082((byte) 0x32, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       al, [rbx + 18]}
     */
    // Template#: 12864, Serial#: 410
    public void xor_r410(AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0083((byte) 0x32, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       al, [rbx + 18]}
     */
    // Template#: 12865, Serial#: 419
    public void xor_r419(AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0084((byte) 0x32, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xor       al, rbx[rsi * 4]}
     */
    // Template#: 12866, Serial#: 398
    public void xor(AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0085((byte) 0x32, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xor       al, rbx[rsi * 4]}
     */
    // Template#: 12867, Serial#: 407
    public void xor_r407(AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0086((byte) 0x32, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xor       al, rbx[rsi * 4]}
     */
    // Template#: 12868, Serial#: 416
    public void xor_r416(AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0087((byte) 0x32, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       al, al}
     */
    // Template#: 12869, Serial#: 351
    public void xor(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0088((byte) 0x30, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       al, al}
     */
    // Template#: 12870, Serial#: 360
    public void xor_r360(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0089((byte) 0x30, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       al, al}
     */
    // Template#: 12871, Serial#: 369
    public void xor_r369(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0090((byte) 0x30, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       al, al}
     */
    // Template#: 12872, Serial#: 405
    public void xor_r405(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0091((byte) 0x32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       al, al}
     */
    // Template#: 12873, Serial#: 414
    public void xor_r414(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0092((byte) 0x32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       al, al}
     */
    // Template#: 12874, Serial#: 423
    public void xor_r423(AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        assemble0093((byte) 0x32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       al, [rbx]}
     */
    // Template#: 12875, Serial#: 397
    public void xor(AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        assemble0094((byte) 0x32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       al, [rbx]}
     */
    // Template#: 12876, Serial#: 406
    public void xor_r406(AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        assemble0095((byte) 0x32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       al, [rbx]}
     */
    // Template#: 12877, Serial#: 415
    public void xor_r415(AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        assemble0096((byte) 0x32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code xor       al, [L1: +305419896]}
     */
    // Template#: 12878, Serial#: 400
    public void rip_xor(AMD64GeneralRegister8 destination, int rel32) {
        assemble0097((byte) 0x32, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code xor       al, [L1: +305419896]}
     */
    // Template#: 12879, Serial#: 409
    public void rip_xor_r409(AMD64GeneralRegister8 destination, int rel32) {
        assemble0098((byte) 0x32, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code xor       al, [L1: +305419896]}
     */
    // Template#: 12880, Serial#: 418
    public void rip_xor_r418(AMD64GeneralRegister8 destination, int rel32) {
        assemble0099((byte) 0x32, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xor       al, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12881, Serial#: 404
    public void xor(AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0100((byte) 0x32, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xor       al, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12882, Serial#: 413
    public void xor_r413(AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0101((byte) 0x32, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xor       al, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12883, Serial#: 422
    public void xor_r422(AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0102((byte) 0x32, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xor       al, 0x12345678[rsi * 4]}
     */
    // Template#: 12884, Serial#: 399
    public void m_xor(AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0103((byte) 0x32, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xor       al, 0x12345678[rsi * 4]}
     */
    // Template#: 12885, Serial#: 408
    public void m_xor_r408(AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0104((byte) 0x32, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xor       al, 0x12345678[rsi * 4]}
     */
    // Template#: 12886, Serial#: 417
    public void m_xor_r417(AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0105((byte) 0x32, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       al, [rbx + 305419896]}
     */
    // Template#: 12887, Serial#: 403
    public void xor(AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0106((byte) 0x32, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       al, [rbx + 305419896]}
     */
    // Template#: 12888, Serial#: 412
    public void xor_r412(AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0107((byte) 0x32, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       al, [rbx + 305419896]}
     */
    // Template#: 12889, Serial#: 421
    public void xor_r421(AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0108((byte) 0x32, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorb      [rbx], 0x12}
     */
    // Template#: 12890, Serial#: 521
    public void xorb(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0x80, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorb      [rbx], 0x12}
     */
    // Template#: 12891, Serial#: 593
    public void xorb_r593(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0x80, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorb  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorb      [rbx], 0x12}
     */
    // Template#: 12892, Serial#: 665
    public void xorb_r665(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0x80, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorl  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorl      [rbx], 0x12}
     */
    // Template#: 12893, Serial#: 953
    public void xorl(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0109((byte) 0x83, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorq  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorq      [rbx], 0x12}
     */
    // Template#: 12894, Serial#: 1025
    public void xorq(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0110((byte) 0x83, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorw  }<i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorw      [rbx], 0x12}
     */
    // Template#: 12895, Serial#: 1097
    public void xorw(AMD64IndirectRegister64 destination, byte imm8) {
        assemble0111((byte) 0x83, (byte) 0x06, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       [rbx], ax}
     */
    // Template#: 12896, Serial#: 388
    public void xor(AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0112((byte) 0x31, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       [rbx], eax}
     */
    // Template#: 12897, Serial#: 370
    public void xor(AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0113((byte) 0x31, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       [rbx], rax}
     */
    // Template#: 12898, Serial#: 379
    public void xor(AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0114((byte) 0x31, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       [rbx], al}
     */
    // Template#: 12899, Serial#: 343
    public void xor(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0115((byte) 0x30, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       [rbx], al}
     */
    // Template#: 12900, Serial#: 352
    public void xor_r352(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0116((byte) 0x30, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       [rbx], al}
     */
    // Template#: 12901, Serial#: 361
    public void xor_r361(AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0117((byte) 0x30, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorl  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code xorl      [rbx], 0x12345678}
     */
    // Template#: 12902, Serial#: 737
    public void xorl(AMD64IndirectRegister64 destination, int imm32) {
        assemble0118((byte) 0x81, (byte) 0x06, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorq  }<i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code xorq      [rbx], 0x12345678}
     */
    // Template#: 12903, Serial#: 809
    public void xorq(AMD64IndirectRegister64 destination, int imm32) {
        assemble0119((byte) 0x81, (byte) 0x06, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorw  }<i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code xorw      [rbx], 0x1234}
     */
    // Template#: 12904, Serial#: 881
    public void xorw(AMD64IndirectRegister64 destination, short imm16) {
        assemble0120((byte) 0x81, (byte) 0x06, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>imm32</i>
     * Example disassembly syntax: {@code xor       eax, 0x12345678}
     */
    // Template#: 12905, Serial#: 454
    public void xor_EAX(int imm32) {
        assemble0121((byte) 0x35, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>imm32</i>
     * Example disassembly syntax: {@code xor       rax, 0x12345678}
     */
    // Template#: 12906, Serial#: 455
    public void xor_RAX(int imm32) {
        assemble0122((byte) 0x35, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorb      [L1: +305419896], 0x12}
     */
    // Template#: 12907, Serial#: 524
    public void rip_xorb(int rel32, byte imm8) {
        assemble0123((byte) 0x80, (byte) 0x06, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorb      [L1: +305419896], 0x12}
     */
    // Template#: 12908, Serial#: 596
    public void rip_xorb_r596(int rel32, byte imm8) {
        assemble0124((byte) 0x80, (byte) 0x06, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorb  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorb      [L1: +305419896], 0x12}
     */
    // Template#: 12909, Serial#: 668
    public void rip_xorb_r668(int rel32, byte imm8) {
        assemble0125((byte) 0x80, (byte) 0x06, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorl  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorl      [L1: +305419896], 0x12}
     */
    // Template#: 12910, Serial#: 956
    public void rip_xorl(int rel32, byte imm8) {
        assemble0123((byte) 0x83, (byte) 0x06, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorq  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorq      [L1: +305419896], 0x12}
     */
    // Template#: 12911, Serial#: 1028
    public void rip_xorq(int rel32, byte imm8) {
        assemble0124((byte) 0x83, (byte) 0x06, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorw  }<i>rel32</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorw      [L1: +305419896], 0x12}
     */
    // Template#: 12912, Serial#: 1100
    public void rip_xorw(int rel32, byte imm8) {
        assemble0125((byte) 0x83, (byte) 0x06, rel32, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 12913, Serial#: 558
    public void xorb(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0x80, (byte) 0x06, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 12914, Serial#: 630
    public void xorb_r630(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0x80, (byte) 0x06, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorb  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorb      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 12915, Serial#: 702
    public void xorb_r702(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0x80, (byte) 0x06, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorl      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 12916, Serial#: 990
    public void xorl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0126((byte) 0x83, (byte) 0x06, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorq      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 12917, Serial#: 1062
    public void xorq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0127((byte) 0x83, (byte) 0x06, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorw      rbx[rsi * 4 + 305419896], 0x12}
     */
    // Template#: 12918, Serial#: 1134
    public void xorw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0128((byte) 0x83, (byte) 0x06, disp32, base, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       rbx[rsi * 4 + 305419896], ax}
     */
    // Template#: 12919, Serial#: 395
    public void xor(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0129((byte) 0x31, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       rbx[rsi * 4 + 305419896], eax}
     */
    // Template#: 12920, Serial#: 377
    public void xor(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0130((byte) 0x31, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       rbx[rsi * 4 + 305419896], rax}
     */
    // Template#: 12921, Serial#: 386
    public void xor(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0131((byte) 0x31, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 12922, Serial#: 350
    public void xor(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0132((byte) 0x30, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 12923, Serial#: 359
    public void xor_r359(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0133((byte) 0x30, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       rbx[rsi * 4 + 305419896], al}
     */
    // Template#: 12924, Serial#: 368
    public void xor_r368(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0134((byte) 0x30, disp32, base, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorl  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code xorl      rbx[rsi * 4 + 305419896], 0x12345678}
     */
    // Template#: 12925, Serial#: 774
    public void xorl(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0135((byte) 0x81, (byte) 0x06, disp32, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorq  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code xorq      rbx[rsi * 4 + 305419896], 0x12345678}
     */
    // Template#: 12926, Serial#: 846
    public void xorq(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0136((byte) 0x81, (byte) 0x06, disp32, base, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorw  }<i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code xorw      rbx[rsi * 4 + 305419896], 0x1234}
     */
    // Template#: 12927, Serial#: 918
    public void xorw(int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0137((byte) 0x81, (byte) 0x06, disp32, base, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       [L1: +305419896], ax}
     */
    // Template#: 12928, Serial#: 391
    public void rip_xor(int rel32, AMD64GeneralRegister16 source) {
        assemble0138((byte) 0x31, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       [L1: +305419896], eax}
     */
    // Template#: 12929, Serial#: 373
    public void rip_xor(int rel32, AMD64GeneralRegister32 source) {
        assemble0139((byte) 0x31, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       [L1: +305419896], rax}
     */
    // Template#: 12930, Serial#: 382
    public void rip_xor(int rel32, AMD64GeneralRegister64 source) {
        assemble0140((byte) 0x31, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       [L1: +305419896], al}
     */
    // Template#: 12931, Serial#: 346
    public void rip_xor(int rel32, AMD64GeneralRegister8 source) {
        assemble0141((byte) 0x30, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       [L1: +305419896], al}
     */
    // Template#: 12932, Serial#: 355
    public void rip_xor_r355(int rel32, AMD64GeneralRegister8 source) {
        assemble0142((byte) 0x30, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>rel32</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       [L1: +305419896], al}
     */
    // Template#: 12933, Serial#: 364
    public void rip_xor_r364(int rel32, AMD64GeneralRegister8 source) {
        assemble0143((byte) 0x30, rel32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 12934, Serial#: 523
    public void m_xorb(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0x80, (byte) 0x06, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 12935, Serial#: 595
    public void m_xorb_r595(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0x80, (byte) 0x06, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorb  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorb      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 12936, Serial#: 667
    public void m_xorb_r667(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0x80, (byte) 0x06, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorl  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorl      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 12937, Serial#: 955
    public void m_xorl(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0144((byte) 0x83, (byte) 0x06, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorq      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 12938, Serial#: 1027
    public void m_xorq(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0145((byte) 0x83, (byte) 0x06, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorw  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorw      0x12345678[rsi * 4], 0x12}
     */
    // Template#: 12939, Serial#: 1099
    public void m_xorw(int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        assemble0146((byte) 0x83, (byte) 0x06, m32, index, scale, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       0x12345678[rsi * 4], ax}
     */
    // Template#: 12940, Serial#: 390
    public void m_xor(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        assemble0147((byte) 0x31, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       0x12345678[rsi * 4], eax}
     */
    // Template#: 12941, Serial#: 372
    public void m_xor(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        assemble0148((byte) 0x31, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       0x12345678[rsi * 4], rax}
     */
    // Template#: 12942, Serial#: 381
    public void m_xor(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        assemble0149((byte) 0x31, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       0x12345678[rsi * 4], al}
     */
    // Template#: 12943, Serial#: 345
    public void m_xor(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0150((byte) 0x30, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       0x12345678[rsi * 4], al}
     */
    // Template#: 12944, Serial#: 354
    public void m_xor_r354(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0151((byte) 0x30, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       0x12345678[rsi * 4], al}
     */
    // Template#: 12945, Serial#: 363
    public void m_xor_r363(int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        assemble0152((byte) 0x30, m32, index, scale, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorl  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code xorl      0x12345678[rsi * 4], 0x12345678}
     */
    // Template#: 12946, Serial#: 739
    public void m_xorl(int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0153((byte) 0x81, (byte) 0x06, m32, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorq  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm32</i>
     * Example disassembly syntax: {@code xorq      0x12345678[rsi * 4], 0x12345678}
     */
    // Template#: 12947, Serial#: 811
    public void m_xorq(int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        assemble0154((byte) 0x81, (byte) 0x06, m32, index, scale, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorw  }<i>m32</i>, <i>index</i>, <i>scale</i>, <i>imm16</i>
     * Example disassembly syntax: {@code xorw      0x12345678[rsi * 4], 0x1234}
     */
    // Template#: 12948, Serial#: 883
    public void m_xorw(int m32, AMD64IndexRegister64 index, Scale scale, short imm16) {
        assemble0155((byte) 0x81, (byte) 0x06, m32, index, scale, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorb      [rbx + 305419896], 0x12}
     */
    // Template#: 12949, Serial#: 557
    public void xorb(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0x80, (byte) 0x06, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorb      [rbx + 305419896], 0x12}
     */
    // Template#: 12950, Serial#: 629
    public void xorb_r629(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0x80, (byte) 0x06, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorb  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorb      [rbx + 305419896], 0x12}
     */
    // Template#: 12951, Serial#: 701
    public void xorb_r701(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0x80, (byte) 0x06, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorl  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorl      [rbx + 305419896], 0x12}
     */
    // Template#: 12952, Serial#: 989
    public void xorl(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0156((byte) 0x83, (byte) 0x06, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorq  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorq      [rbx + 305419896], 0x12}
     */
    // Template#: 12953, Serial#: 1061
    public void xorq(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0157((byte) 0x83, (byte) 0x06, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorw  }<i>disp32</i>, <i>destination</i>, <i>imm8</i>
     * Example disassembly syntax: {@code xorw      [rbx + 305419896], 0x12}
     */
    // Template#: 12954, Serial#: 1133
    public void xorw(int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        assemble0158((byte) 0x83, (byte) 0x06, disp32, destination, imm8);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       [rbx + 305419896], ax}
     */
    // Template#: 12955, Serial#: 394
    public void xor(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        assemble0159((byte) 0x31, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       [rbx + 305419896], eax}
     */
    // Template#: 12956, Serial#: 376
    public void xor(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        assemble0160((byte) 0x31, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       [rbx + 305419896], rax}
     */
    // Template#: 12957, Serial#: 385
    public void xor(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        assemble0161((byte) 0x31, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       [rbx + 305419896], al}
     */
    // Template#: 12958, Serial#: 349
    public void xor(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0162((byte) 0x30, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       [rbx + 305419896], al}
     */
    // Template#: 12959, Serial#: 358
    public void xor_r358(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0163((byte) 0x30, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>disp32</i>, <i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xor       [rbx + 305419896], al}
     */
    // Template#: 12960, Serial#: 367
    public void xor_r367(int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        assemble0164((byte) 0x30, disp32, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorl  }<i>disp32</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code xorl      [rbx + 305419896], 0x12345678}
     */
    // Template#: 12961, Serial#: 773
    public void xorl(int disp32, AMD64IndirectRegister64 destination, int imm32) {
        assemble0165((byte) 0x81, (byte) 0x06, disp32, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorq  }<i>disp32</i>, <i>destination</i>, <i>imm32</i>
     * Example disassembly syntax: {@code xorq      [rbx + 305419896], 0x12345678}
     */
    // Template#: 12962, Serial#: 845
    public void xorq(int disp32, AMD64IndirectRegister64 destination, int imm32) {
        assemble0166((byte) 0x81, (byte) 0x06, disp32, destination, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorw  }<i>disp32</i>, <i>destination</i>, <i>imm16</i>
     * Example disassembly syntax: {@code xorw      [rbx + 305419896], 0x1234}
     */
    // Template#: 12963, Serial#: 917
    public void xorw(int disp32, AMD64IndirectRegister64 destination, short imm16) {
        assemble0167((byte) 0x81, (byte) 0x06, disp32, destination, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorl  }<i>rel32</i>, <i>imm32</i>
     * Example disassembly syntax: {@code xorl      [L1: +305419896], 0x12345678}
     */
    // Template#: 12964, Serial#: 740
    public void rip_xorl(int rel32, int imm32) {
        assemble0168((byte) 0x81, (byte) 0x06, rel32, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorq  }<i>rel32</i>, <i>imm32</i>
     * Example disassembly syntax: {@code xorq      [L1: +305419896], 0x12345678}
     */
    // Template#: 12965, Serial#: 812
    public void rip_xorq(int rel32, int imm32) {
        assemble0169((byte) 0x81, (byte) 0x06, rel32, imm32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorw  }<i>rel32</i>, <i>imm16</i>
     * Example disassembly syntax: {@code xorw      [L1: +305419896], 0x1234}
     */
    // Template#: 12966, Serial#: 884
    public void rip_xorw(int rel32, short imm16) {
        assemble0170((byte) 0x81, (byte) 0x06, rel32, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code xor  }<i>imm16</i>
     * Example disassembly syntax: {@code xor       ax, 0x1234}
     */
    // Template#: 12967, Serial#: 456
    public void xor_AX(short imm16) {
        assemble0171((byte) 0x35, imm16);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xorpd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 12968, Serial#: 6790
    public void xorpd(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0172((byte) 0x57, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorpd  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xorpd     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 12969, Serial#: 6799
    public void xorpd_r6799(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0173((byte) 0x57, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code xorpd     xmm0, [rbx + 18]}
     */
    // Template#: 12970, Serial#: 6789
    public void xorpd(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0174((byte) 0x57, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorpd  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code xorpd     xmm0, [rbx + 18]}
     */
    // Template#: 12971, Serial#: 6798
    public void xorpd_r6798(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0175((byte) 0x57, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xorpd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 12972, Serial#: 6786
    public void xorpd(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0176((byte) 0x57, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorpd  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xorpd     xmm0, rbx[rsi * 4]}
     */
    // Template#: 12973, Serial#: 6795
    public void xorpd_r6795(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0177((byte) 0x57, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xorpd     xmm0, [rbx]}
     */
    // Template#: 12974, Serial#: 6785
    public void xorpd(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0178((byte) 0x57, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xorpd     xmm0, [rbx]}
     */
    // Template#: 12975, Serial#: 6794
    public void xorpd_r6794(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0179((byte) 0x57, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xorpd     xmm0, xmm0}
     */
    // Template#: 12976, Serial#: 6793
    public void xorpd(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0180((byte) 0x57, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorpd  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xorpd     xmm0, xmm0}
     */
    // Template#: 12977, Serial#: 6802
    public void xorpd_r6802(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0181((byte) 0x57, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code xorpd     xmm0, [L1: +305419896]}
     */
    // Template#: 12978, Serial#: 6788
    public void rip_xorpd(AMD64XMMRegister destination, int rel32) {
        assemble0182((byte) 0x57, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorpd  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code xorpd     xmm0, [L1: +305419896]}
     */
    // Template#: 12979, Serial#: 6797
    public void rip_xorpd_r6797(AMD64XMMRegister destination, int rel32) {
        assemble0183((byte) 0x57, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xorpd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12980, Serial#: 6792
    public void xorpd(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0184((byte) 0x57, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorpd  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xorpd     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12981, Serial#: 6801
    public void xorpd_r6801(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0185((byte) 0x57, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xorpd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 12982, Serial#: 6787
    public void m_xorpd(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0186((byte) 0x57, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorpd  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xorpd     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 12983, Serial#: 6796
    public void m_xorpd_r6796(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0187((byte) 0x57, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code xorpd     xmm0, [rbx + 305419896]}
     */
    // Template#: 12984, Serial#: 6791
    public void xorpd(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0188((byte) 0x57, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorpd  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code xorpd     xmm0, [rbx + 305419896]}
     */
    // Template#: 12985, Serial#: 6800
    public void xorpd_r6800(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0189((byte) 0x57, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xorps     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 12986, Serial#: 6697
    public void xorps(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0190((byte) 0x57, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorps  }<i>destination</i>, <i>disp8</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xorps     xmm0, rbx[rsi * 4 + 18]}
     */
    // Template#: 12987, Serial#: 6706
    public void xorps_r6706(AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0191((byte) 0x57, destination, disp8, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code xorps     xmm0, [rbx + 18]}
     */
    // Template#: 12988, Serial#: 6696
    public void xorps(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0192((byte) 0x57, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorps  }<i>destination</i>, <i>disp8</i>, <i>source</i>
     * Example disassembly syntax: {@code xorps     xmm0, [rbx + 18]}
     */
    // Template#: 12989, Serial#: 6705
    public void xorps_r6705(AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        assemble0193((byte) 0x57, destination, disp8, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xorps     xmm0, rbx[rsi * 4]}
     */
    // Template#: 12990, Serial#: 6693
    public void xorps(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0194((byte) 0x57, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorps  }<i>destination</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xorps     xmm0, rbx[rsi * 4]}
     */
    // Template#: 12991, Serial#: 6702
    public void xorps_r6702(AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0195((byte) 0x57, destination, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xorps     xmm0, [rbx]}
     */
    // Template#: 12992, Serial#: 6692
    public void xorps(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0196((byte) 0x57, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xorps     xmm0, [rbx]}
     */
    // Template#: 12993, Serial#: 6701
    public void xorps_r6701(AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        assemble0197((byte) 0x57, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xorps     xmm0, xmm0}
     */
    // Template#: 12994, Serial#: 6700
    public void xorps(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0198((byte) 0x57, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorps  }<i>destination</i>, <i>source</i>
     * Example disassembly syntax: {@code xorps     xmm0, xmm0}
     */
    // Template#: 12995, Serial#: 6709
    public void xorps_r6709(AMD64XMMRegister destination, AMD64XMMRegister source) {
        assemble0199((byte) 0x57, destination, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code xorps     xmm0, [L1: +305419896]}
     */
    // Template#: 12996, Serial#: 6695
    public void rip_xorps(AMD64XMMRegister destination, int rel32) {
        assemble0200((byte) 0x57, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorps  }<i>destination</i>, <i>rel32</i>
     * Example disassembly syntax: {@code xorps     xmm0, [L1: +305419896]}
     */
    // Template#: 12997, Serial#: 6704
    public void rip_xorps_r6704(AMD64XMMRegister destination, int rel32) {
        assemble0201((byte) 0x57, destination, rel32);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xorps     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12998, Serial#: 6699
    public void xorps(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0202((byte) 0x57, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorps  }<i>destination</i>, <i>disp32</i>, <i>base</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xorps     xmm0, rbx[rsi * 4 + 305419896]}
     */
    // Template#: 12999, Serial#: 6708
    public void xorps_r6708(AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        assemble0203((byte) 0x57, destination, disp32, base, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xorps     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 13000, Serial#: 6694
    public void m_xorps(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0204((byte) 0x57, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorps  }<i>destination</i>, <i>m32</i>, <i>index</i>, <i>scale</i>
     * Example disassembly syntax: {@code xorps     xmm0, 0x12345678[rsi * 4]}
     */
    // Template#: 13001, Serial#: 6703
    public void m_xorps_r6703(AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        assemble0205((byte) 0x57, destination, m32, index, scale);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code xorps     xmm0, [rbx + 305419896]}
     */
    // Template#: 13002, Serial#: 6698
    public void xorps(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0206((byte) 0x57, destination, disp32, source);
    }

    /**
     * Pseudo-external assembler syntax: {@code xorps  }<i>destination</i>, <i>disp32</i>, <i>source</i>
     * Example disassembly syntax: {@code xorps     xmm0, [rbx + 305419896]}
     */
    // Template#: 13003, Serial#: 6707
    public void xorps_r6707(AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        assemble0207((byte) 0x57, destination, disp32, source);
    }

    private void assemble0001(byte opcode1, byte imm8) {
        emitByte(opcode1);
        emitByte(imm8); // appended
    }

    private void assemble0002(byte opcode1, byte imm8) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte(opcode1);
        emitByte(imm8); // appended
    }

    private void assemble0003(byte opcode1, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(opcode1);
        emitByte(imm8); // appended
    }

    private void assemble0004(byte opcode1, byte modRmOpcode, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble0005(byte opcode1, byte modRmOpcode, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble0006(byte opcode1, byte modRmOpcode, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble0007(byte opcode1, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0008(byte opcode1, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0009(byte opcode1, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0010(byte opcode1, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0011(byte opcode1, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        if (source.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0012(byte opcode1, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0013(byte opcode1, byte modRmOpcode, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0014(byte opcode1, byte modRmOpcode, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0015(byte opcode1, byte modRmOpcode, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0016(byte opcode1, byte modRmOpcode, byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble0017(byte opcode1, byte modRmOpcode, byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble0018(byte opcode1, byte modRmOpcode, byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble0019(byte opcode1, byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0020(byte opcode1, byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0021(byte opcode1, byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0022(byte opcode1, byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0023(byte opcode1, byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        if (source.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0024(byte opcode1, byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0025(byte opcode1, byte modRmOpcode, byte disp8, AMD64IndirectRegister64 destination, int imm32) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0026(byte opcode1, byte modRmOpcode, byte disp8, AMD64IndirectRegister64 destination, int imm32) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0027(byte opcode1, byte modRmOpcode, byte disp8, AMD64IndirectRegister64 destination, short imm16) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0028(byte opcode1, byte modRmOpcode, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0004(opcode1, modRmOpcode, (byte) 0, base, index, scale, imm8);
            return;
        }
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(imm8); // appended
    }

    private void assemble0029(byte opcode1, byte modRmOpcode, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0005(opcode1, modRmOpcode, (byte) 0, base, index, scale, imm8);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(imm8); // appended
    }

    private void assemble0030(byte opcode1, byte modRmOpcode, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0006(opcode1, modRmOpcode, (byte) 0, base, index, scale, imm8);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(imm8); // appended
    }

    private void assemble0031(byte opcode1, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0007(opcode1, (byte) 0, base, index, scale, source);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0032(byte opcode1, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0008(opcode1, (byte) 0, base, index, scale, source);
            return;
        }
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0033(byte opcode1, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0009(opcode1, (byte) 0, base, index, scale, source);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0034(byte opcode1, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0010(opcode1, (byte) 0, base, index, scale, source);
            return;
        }
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0035(byte opcode1, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0011(opcode1, (byte) 0, base, index, scale, source);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        if (source.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0036(byte opcode1, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0012(opcode1, (byte) 0, base, index, scale, source);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0037(byte opcode1, byte modRmOpcode, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0013(opcode1, modRmOpcode, (byte) 0, base, index, scale, imm32);
            return;
        }
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0038(byte opcode1, byte modRmOpcode, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0014(opcode1, modRmOpcode, (byte) 0, base, index, scale, imm32);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0039(byte opcode1, byte modRmOpcode, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0015(opcode1, modRmOpcode, (byte) 0, base, index, scale, imm16);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0040(byte opcode1, byte modRmOpcode, AMD64GeneralRegister16 destination, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble0041(byte opcode1, AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0042(byte opcode1, AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0043(byte opcode1, AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0041(opcode1, destination, (byte) 0, base, index, scale);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0044(byte opcode1, AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0045(byte opcode1, AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0046(byte opcode1, AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0042(opcode1, destination, (byte) 0, source);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0047(byte opcode1, AMD64GeneralRegister16 destination, int rel32) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0048(byte opcode1, AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0049(byte opcode1, AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0050(byte opcode1, AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0051(byte opcode1, byte modRmOpcode, AMD64GeneralRegister16 destination, short imm16) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0052(byte opcode1, byte modRmOpcode, AMD64GeneralRegister32 destination, byte imm8) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble0053(byte opcode1, AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0054(byte opcode1, AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0055(byte opcode1, AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0053(opcode1, destination, (byte) 0, base, index, scale);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0056(byte opcode1, AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0057(byte opcode1, AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0058(byte opcode1, AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0054(opcode1, destination, (byte) 0, source);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0059(byte opcode1, AMD64GeneralRegister32 destination, int rel32) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0060(byte opcode1, byte modRmOpcode, AMD64GeneralRegister32 destination, int imm32) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0061(byte opcode1, AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0062(byte opcode1, AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0063(byte opcode1, AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0064(byte opcode1, byte modRmOpcode, AMD64GeneralRegister64 destination, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble0065(byte opcode1, AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0066(byte opcode1, AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0067(byte opcode1, AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0065(opcode1, destination, (byte) 0, base, index, scale);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0068(byte opcode1, AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0069(byte opcode1, AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0070(byte opcode1, AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0066(opcode1, destination, (byte) 0, source);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0071(byte opcode1, AMD64GeneralRegister64 destination, int rel32) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0072(byte opcode1, byte modRmOpcode, AMD64GeneralRegister64 destination, int imm32) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0073(byte opcode1, AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0074(byte opcode1, AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0075(byte opcode1, AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0076(byte opcode1, byte modRmOpcode, AMD64GeneralRegister8 destination, byte imm8) {
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 0; // rm field extension by REX.B bit
            }
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble0077(byte opcode1, byte modRmOpcode, AMD64GeneralRegister8 destination, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        if (destination.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble0078(byte opcode1, byte modRmOpcode, AMD64GeneralRegister8 destination, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 0; // rm field extension by REX.B bit
            }
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble0079(byte opcode1, AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0080(byte opcode1, AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        if (destination.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0081(byte opcode1, AMD64GeneralRegister8 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0082(byte opcode1, AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0083(byte opcode1, AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        if (destination.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0084(byte opcode1, AMD64GeneralRegister8 destination, byte disp8, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0085(byte opcode1, AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0079(opcode1, destination, (byte) 0, base, index, scale);
            return;
        }
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0086(byte opcode1, AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0080(opcode1, destination, (byte) 0, base, index, scale);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        if (destination.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0087(byte opcode1, AMD64GeneralRegister8 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0081(opcode1, destination, (byte) 0, base, index, scale);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0088(byte opcode1, AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 0; // rm field extension by REX.B bit
            }
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0089(byte opcode1, AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        if (destination.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
        }
        if (source.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0090(byte opcode1, AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 0; // rm field extension by REX.B bit
            }
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0091(byte opcode1, AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 0; // rm field extension by REX.B bit
            }
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0092(byte opcode1, AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        if (destination.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
        }
        if (source.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0093(byte opcode1, AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 0; // rm field extension by REX.B bit
            }
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0094(byte opcode1, AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0082(opcode1, destination, (byte) 0, source);
            return;
        }
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0095(byte opcode1, AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0083(opcode1, destination, (byte) 0, source);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        if (destination.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0096(byte opcode1, AMD64GeneralRegister8 destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0084(opcode1, destination, (byte) 0, source);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0097(byte opcode1, AMD64GeneralRegister8 destination, int rel32) {
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0098(byte opcode1, AMD64GeneralRegister8 destination, int rel32) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        if (destination.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0099(byte opcode1, AMD64GeneralRegister8 destination, int rel32) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0100(byte opcode1, AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0101(byte opcode1, AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        if (destination.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0102(byte opcode1, AMD64GeneralRegister8 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0103(byte opcode1, AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0104(byte opcode1, AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        if (destination.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0105(byte opcode1, AMD64GeneralRegister8 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0106(byte opcode1, AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0107(byte opcode1, AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        if (destination.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0108(byte opcode1, AMD64GeneralRegister8 destination, int disp32, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0109(byte opcode1, byte modRmOpcode, AMD64IndirectRegister64 destination, byte imm8) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0016(opcode1, modRmOpcode, (byte) 0, destination, imm8);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(imm8); // appended
    }

    private void assemble0110(byte opcode1, byte modRmOpcode, AMD64IndirectRegister64 destination, byte imm8) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0017(opcode1, modRmOpcode, (byte) 0, destination, imm8);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(imm8); // appended
    }

    private void assemble0111(byte opcode1, byte modRmOpcode, AMD64IndirectRegister64 destination, byte imm8) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0018(opcode1, modRmOpcode, (byte) 0, destination, imm8);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(imm8); // appended
    }

    private void assemble0112(byte opcode1, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0019(opcode1, (byte) 0, destination, source);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0113(byte opcode1, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0020(opcode1, (byte) 0, destination, source);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0114(byte opcode1, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0021(opcode1, (byte) 0, destination, source);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0115(byte opcode1, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0022(opcode1, (byte) 0, destination, source);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0116(byte opcode1, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0023(opcode1, (byte) 0, destination, source);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        if (source.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0117(byte opcode1, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0024(opcode1, (byte) 0, destination, source);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0118(byte opcode1, byte modRmOpcode, AMD64IndirectRegister64 destination, int imm32) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0025(opcode1, modRmOpcode, (byte) 0, destination, imm32);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0119(byte opcode1, byte modRmOpcode, AMD64IndirectRegister64 destination, int imm32) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0026(opcode1, modRmOpcode, (byte) 0, destination, imm32);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0120(byte opcode1, byte modRmOpcode, AMD64IndirectRegister64 destination, short imm16) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0027(opcode1, modRmOpcode, (byte) 0, destination, imm16);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0121(byte opcode1, int imm32) {
        emitByte(opcode1);
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0122(byte opcode1, int imm32) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte(opcode1);
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0123(byte opcode1, byte modRmOpcode, int rel32, byte imm8) {
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 5 << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0124(byte opcode1, byte modRmOpcode, int rel32, byte imm8) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 5 << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0125(byte opcode1, byte modRmOpcode, int rel32, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 5 << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0126(byte opcode1, byte modRmOpcode, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0127(byte opcode1, byte modRmOpcode, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0128(byte opcode1, byte modRmOpcode, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0129(byte opcode1, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0130(byte opcode1, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0131(byte opcode1, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0132(byte opcode1, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0133(byte opcode1, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        if (source.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0134(byte opcode1, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0135(byte opcode1, byte modRmOpcode, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0136(byte opcode1, byte modRmOpcode, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0137(byte opcode1, byte modRmOpcode, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0138(byte opcode1, int rel32, AMD64GeneralRegister16 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0139(byte opcode1, int rel32, AMD64GeneralRegister32 source) {
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0140(byte opcode1, int rel32, AMD64GeneralRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0141(byte opcode1, int rel32, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0;
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0142(byte opcode1, int rel32, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0x48;
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        if (source.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0143(byte opcode1, int rel32, AMD64GeneralRegister8 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0144(byte opcode1, byte modRmOpcode, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0145(byte opcode1, byte modRmOpcode, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0146(byte opcode1, byte modRmOpcode, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0147(byte opcode1, int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0148(byte opcode1, int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0149(byte opcode1, int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0150(byte opcode1, int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0151(byte opcode1, int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0x48;
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        if (source.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0152(byte opcode1, int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0153(byte opcode1, byte modRmOpcode, int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0154(byte opcode1, byte modRmOpcode, int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        byte rex = (byte) 0x48;
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0155(byte opcode1, byte modRmOpcode, int m32, AMD64IndexRegister64 index, Scale scale, short imm16) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0156(byte opcode1, byte modRmOpcode, int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0157(byte opcode1, byte modRmOpcode, int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0158(byte opcode1, byte modRmOpcode, int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0159(byte opcode1, int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0160(byte opcode1, int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0161(byte opcode1, int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0162(byte opcode1, int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0163(byte opcode1, int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        if (source.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0164(byte opcode1, int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0165(byte opcode1, byte modRmOpcode, int disp32, AMD64IndirectRegister64 destination, int imm32) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0166(byte opcode1, byte modRmOpcode, int disp32, AMD64IndirectRegister64 destination, int imm32) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0167(byte opcode1, byte modRmOpcode, int disp32, AMD64IndirectRegister64 destination, short imm16) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0168(byte opcode1, byte modRmOpcode, int rel32, int imm32) {
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 5 << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0169(byte opcode1, byte modRmOpcode, int rel32, int imm32) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 5 << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0170(byte opcode1, byte modRmOpcode, int rel32, short imm16) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 5 << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0171(byte opcode1, short imm16) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(opcode1);
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0172(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0173(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0174(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0175(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0176(byte opcode2, AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0172(opcode2, destination, (byte) 0, base, index, scale);
            return;
        }
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0177(byte opcode2, AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0173(opcode2, destination, (byte) 0, base, index, scale);
            return;
        }
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0178(byte opcode2, AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0174(opcode2, destination, (byte) 0, source);
            return;
        }
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0179(byte opcode2, AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0175(opcode2, destination, (byte) 0, source);
            return;
        }
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0180(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0181(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0182(byte opcode2, AMD64XMMRegister destination, int rel32) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0183(byte opcode2, AMD64XMMRegister destination, int rel32) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0184(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0185(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0186(byte opcode2, AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0187(byte opcode2, AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0188(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0189(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0190(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0191(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0192(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0193(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0194(byte opcode2, AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0190(opcode2, destination, (byte) 0, base, index, scale);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0195(byte opcode2, AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0191(opcode2, destination, (byte) 0, base, index, scale);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0196(byte opcode2, AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0192(opcode2, destination, (byte) 0, source);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0197(byte opcode2, AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0193(opcode2, destination, (byte) 0, source);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0198(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0199(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0200(byte opcode2, AMD64XMMRegister destination, int rel32) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0201(byte opcode2, AMD64XMMRegister destination, int rel32) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0202(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0203(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0204(byte opcode2, AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0205(byte opcode2, AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0206(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0207(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0208(byte opcode1) {
        emitByte(opcode1);
    }

    private void assemble0209(byte opcode1) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte(opcode1);
    }

    private void assemble0210(byte opcode1) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(opcode1);
    }

    private void assemble0211(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0212(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0213(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0214(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0215(byte opcode2, AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0211(opcode2, destination, (byte) 0, base, index, scale);
            return;
        }
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0216(byte opcode2, AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0212(opcode2, destination, (byte) 0, base, index, scale);
            return;
        }
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0217(byte opcode2, AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0213(opcode2, destination, (byte) 0, source);
            return;
        }
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0218(byte opcode2, AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0214(opcode2, destination, (byte) 0, source);
            return;
        }
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0219(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0220(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0221(byte opcode2, AMD64XMMRegister destination, int rel32) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0222(byte opcode2, AMD64XMMRegister destination, int rel32) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0223(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0224(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0225(byte opcode2, AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0226(byte opcode2, AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0227(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0228(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0229(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0230(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0231(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0232(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0233(byte opcode2, AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0229(opcode2, destination, (byte) 0, base, index, scale);
            return;
        }
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0234(byte opcode2, AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0230(opcode2, destination, (byte) 0, base, index, scale);
            return;
        }
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0235(byte opcode2, AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0231(opcode2, destination, (byte) 0, source);
            return;
        }
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0236(byte opcode2, AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0232(opcode2, destination, (byte) 0, source);
            return;
        }
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0237(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0238(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0239(byte opcode2, AMD64XMMRegister destination, int rel32) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0240(byte opcode2, AMD64XMMRegister destination, int rel32) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0241(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0242(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0243(byte opcode2, AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0244(byte opcode2, AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0245(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0246(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0247(byte opcode2, AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0248(byte opcode2, AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0249(byte opcode2, AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0247(opcode2, destination, (byte) 0, base, index, scale);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0250(byte opcode2, AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0251(byte opcode2, AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0248(opcode2, destination, (byte) 0, source);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0252(byte opcode2, AMD64GeneralRegister16 destination, int rel32) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0253(byte opcode2, AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0254(byte opcode2, AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0255(byte opcode2, AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0256(byte opcode2, AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0257(byte opcode2, AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0258(byte opcode2, AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0256(opcode2, destination, (byte) 0, base, index, scale);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0259(byte opcode2, AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0260(byte opcode2, AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0257(opcode2, destination, (byte) 0, source);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0261(byte opcode2, AMD64GeneralRegister32 destination, int rel32) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0262(byte opcode2, AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0263(byte opcode2, AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0264(byte opcode2, AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0265(byte opcode2, AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0266(byte opcode2, AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0267(byte opcode2, AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0265(opcode2, destination, (byte) 0, base, index, scale);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0268(byte opcode2, AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0269(byte opcode2, AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0266(opcode2, destination, (byte) 0, source);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0270(byte opcode2, AMD64GeneralRegister64 destination, int rel32) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0271(byte opcode2, AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0272(byte opcode2, AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0273(byte opcode2, AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0274(byte opcode2, AMD64GeneralRegister32 register) {
        byte rex = (byte) 0;
        if (register.value() >= 8) {
            rex |= (1 << 0) + 0x40; // opcode2 extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte((byte) (opcode2 + (register.value()& 7))); // opcode2_rexb
    }

    private void assemble0275(byte opcode2, AMD64GeneralRegister64 register) {
        byte rex = (byte) 0x48;
        rex |= (register.value() & 8) >> 3; // opcode2 extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte((byte) (opcode2 + (register.value()& 7))); // opcode2_rexb
    }

    private void assemble0276(byte opcode2, byte modRmOpcode, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble0277(byte opcode2, byte modRmOpcode, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble0278(byte opcode2, byte modRmOpcode, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble0279(byte opcode2, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0280(byte opcode2, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0281(byte opcode2, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0282(byte opcode2, byte modRmOpcode, byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble0283(byte opcode2, byte modRmOpcode, byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble0284(byte opcode2, byte modRmOpcode, byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble0285(byte opcode2, byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0286(byte opcode2, byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0287(byte opcode2, byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0288(byte opcode2, byte modRmOpcode, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0276(opcode2, modRmOpcode, (byte) 0, base, index, scale, imm8);
            return;
        }
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(imm8); // appended
    }

    private void assemble0289(byte opcode2, byte modRmOpcode, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0277(opcode2, modRmOpcode, (byte) 0, base, index, scale, imm8);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(imm8); // appended
    }

    private void assemble0290(byte opcode2, byte modRmOpcode, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0278(opcode2, modRmOpcode, (byte) 0, base, index, scale, imm8);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(imm8); // appended
    }

    private void assemble0291(byte opcode2, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0279(opcode2, (byte) 0, base, index, scale, source);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0292(byte opcode2, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0280(opcode2, (byte) 0, base, index, scale, source);
            return;
        }
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0293(byte opcode2, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0281(opcode2, (byte) 0, base, index, scale, source);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0294(byte opcode2, byte modRmOpcode, AMD64GeneralRegister16 destination, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble0295(byte opcode2, AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0296(byte opcode2, byte modRmOpcode, AMD64GeneralRegister32 destination, byte imm8) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble0297(byte opcode2, AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0298(byte opcode2, byte modRmOpcode, AMD64GeneralRegister64 destination, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble0299(byte opcode2, AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0300(byte opcode2, byte modRmOpcode, AMD64IndirectRegister64 destination, byte imm8) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0282(opcode2, modRmOpcode, (byte) 0, destination, imm8);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(imm8); // appended
    }

    private void assemble0301(byte opcode2, byte modRmOpcode, AMD64IndirectRegister64 destination, byte imm8) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0283(opcode2, modRmOpcode, (byte) 0, destination, imm8);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(imm8); // appended
    }

    private void assemble0302(byte opcode2, byte modRmOpcode, AMD64IndirectRegister64 destination, byte imm8) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0284(opcode2, modRmOpcode, (byte) 0, destination, imm8);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(imm8); // appended
    }

    private void assemble0303(byte opcode2, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0285(opcode2, (byte) 0, destination, source);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0304(byte opcode2, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0286(opcode2, (byte) 0, destination, source);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0305(byte opcode2, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0287(opcode2, (byte) 0, destination, source);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0306(byte opcode2, byte modRmOpcode, int rel32, byte imm8) {
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 5 << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0307(byte opcode2, byte modRmOpcode, int rel32, byte imm8) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 5 << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0308(byte opcode2, byte modRmOpcode, int rel32, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 5 << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0309(byte opcode2, byte modRmOpcode, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0310(byte opcode2, byte modRmOpcode, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0311(byte opcode2, byte modRmOpcode, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0312(byte opcode2, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0313(byte opcode2, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0314(byte opcode2, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0315(byte opcode2, int rel32, AMD64GeneralRegister16 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0316(byte opcode2, int rel32, AMD64GeneralRegister32 source) {
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0317(byte opcode2, int rel32, AMD64GeneralRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0318(byte opcode2, byte modRmOpcode, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0319(byte opcode2, byte modRmOpcode, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0320(byte opcode2, byte modRmOpcode, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0321(byte opcode2, int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0322(byte opcode2, int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source) {
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0323(byte opcode2, int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0324(byte opcode2, byte modRmOpcode, int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0325(byte opcode2, byte modRmOpcode, int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0326(byte opcode2, byte modRmOpcode, int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0327(byte opcode2, int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0328(byte opcode2, int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0329(byte opcode2, int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0330(byte opcode1, byte modRmOpcode, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0331(byte opcode1, byte modRmOpcode, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0332(byte opcode1, byte modRmOpcode, byte disp8, AMD64IndirectRegister64 destination) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0333(byte opcode1, byte modRmOpcode, byte disp8, AMD64IndirectRegister64 destination) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0334(byte opcode1, byte modRmOpcode, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0330(opcode1, modRmOpcode, (byte) 0, base, index, scale);
            return;
        }
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0335(byte opcode1, byte modRmOpcode, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0331(opcode1, modRmOpcode, (byte) 0, base, index, scale);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0336(byte opcode1, byte modRmOpcode, AMD64GeneralRegister16 destination) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0337(byte opcode1, byte modRmOpcode, AMD64GeneralRegister64 destination) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0338(byte opcode1, byte modRmOpcode, AMD64IndirectRegister64 destination) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0332(opcode1, modRmOpcode, (byte) 0, destination);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0339(byte opcode1, byte modRmOpcode, AMD64IndirectRegister64 destination) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0333(opcode1, modRmOpcode, (byte) 0, destination);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0340(byte opcode1, int rel32) {
        emitByte(opcode1);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0341(byte opcode1, byte modRmOpcode, int rel32) {
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 5 << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0342(byte opcode1, byte modRmOpcode, int rel32) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 5 << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0343(byte opcode1, byte modRmOpcode, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0344(byte opcode1, byte modRmOpcode, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0345(byte opcode1, byte modRmOpcode, int m32, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0346(byte opcode1, byte modRmOpcode, int m32, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0347(byte opcode1, byte modRmOpcode, int disp32, AMD64IndirectRegister64 destination) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0348(byte opcode1, byte modRmOpcode, int disp32, AMD64IndirectRegister64 destination) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0349(byte opcode2, byte modRmOpcode, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0350(byte opcode2, byte modRmOpcode, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0351(byte opcode2, byte modRmOpcode, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0352(byte opcode2, byte modRmOpcode, byte disp8, AMD64IndirectRegister64 destination) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0353(byte opcode2, byte modRmOpcode, byte disp8, AMD64IndirectRegister64 destination) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0354(byte opcode2, byte modRmOpcode, byte disp8, AMD64IndirectRegister64 destination) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0355(byte opcode2, byte modRmOpcode, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0349(opcode2, modRmOpcode, (byte) 0, base, index, scale);
            return;
        }
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0356(byte opcode2, byte modRmOpcode, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0350(opcode2, modRmOpcode, (byte) 0, base, index, scale);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0357(byte opcode2, byte modRmOpcode, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0351(opcode2, modRmOpcode, (byte) 0, base, index, scale);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0358(byte opcode2, byte modRmOpcode, AMD64IndirectRegister64 destination) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0352(opcode2, modRmOpcode, (byte) 0, destination);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0359(byte opcode2, byte modRmOpcode, AMD64IndirectRegister64 destination) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0353(opcode2, modRmOpcode, (byte) 0, destination);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0360(byte opcode2, byte modRmOpcode, AMD64IndirectRegister64 destination) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0354(opcode2, modRmOpcode, (byte) 0, destination);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0361(byte opcode2, byte modRmOpcode, int rel32) {
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 5 << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0362(byte opcode2, byte modRmOpcode, int rel32) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 5 << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0363(byte opcode2, byte modRmOpcode, int rel32) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 5 << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0364(byte opcode2, byte modRmOpcode, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0365(byte opcode2, byte modRmOpcode, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0366(byte opcode2, byte modRmOpcode, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0367(byte opcode2, byte modRmOpcode, int m32, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0368(byte opcode2, byte modRmOpcode, int m32, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0x48;
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0369(byte opcode2, byte modRmOpcode, int m32, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0370(byte opcode2, byte modRmOpcode, int disp32, AMD64IndirectRegister64 destination) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0371(byte opcode2, byte modRmOpcode, int disp32, AMD64IndirectRegister64 destination) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0372(byte opcode2, byte modRmOpcode, int disp32, AMD64IndirectRegister64 destination) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0373(byte opcode2) {
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
    }

    private void assemble0374(byte opcode2) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
    }

    private void assemble0375(byte opcode2) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
    }

    private void assemble0376(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0377(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0378(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0379(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0380(byte opcode2, AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0376(opcode2, destination, (byte) 0, base, index, scale, amd64xmmcomparison);
            return;
        }
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0381(byte opcode2, AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0377(opcode2, destination, (byte) 0, base, index, scale, amd64xmmcomparison);
            return;
        }
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0382(byte opcode2, AMD64XMMRegister destination, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0378(opcode2, destination, (byte) 0, source, amd64xmmcomparison);
            return;
        }
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0383(byte opcode2, AMD64XMMRegister destination, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0379(opcode2, destination, (byte) 0, source, amd64xmmcomparison);
            return;
        }
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0384(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0385(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0386(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0387(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0388(byte opcode2, AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0389(byte opcode2, AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0390(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0391(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0392(byte opcode2, AMD64XMMRegister destination, int rel32, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0393(byte opcode2, AMD64XMMRegister destination, int rel32, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0394(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0395(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0396(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0397(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0398(byte opcode2, AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0394(opcode2, destination, (byte) 0, base, index, scale, amd64xmmcomparison);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0399(byte opcode2, AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0395(opcode2, destination, (byte) 0, base, index, scale, amd64xmmcomparison);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0400(byte opcode2, AMD64XMMRegister destination, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0396(opcode2, destination, (byte) 0, source, amd64xmmcomparison);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0401(byte opcode2, AMD64XMMRegister destination, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0397(opcode2, destination, (byte) 0, source, amd64xmmcomparison);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0402(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source, AMD64XMMComparison amd64xmmcomparison) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0403(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source, AMD64XMMComparison amd64xmmcomparison) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0404(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0405(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0406(byte opcode2, AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0407(byte opcode2, AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0408(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0409(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0410(byte opcode2, AMD64XMMRegister destination, int rel32, AMD64XMMComparison amd64xmmcomparison) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0411(byte opcode2, AMD64XMMRegister destination, int rel32, AMD64XMMComparison amd64xmmcomparison) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0412(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0413(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0414(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0415(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0416(byte opcode2, AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0412(opcode2, destination, (byte) 0, base, index, scale, amd64xmmcomparison);
            return;
        }
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0417(byte opcode2, AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0413(opcode2, destination, (byte) 0, base, index, scale, amd64xmmcomparison);
            return;
        }
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0418(byte opcode2, AMD64XMMRegister destination, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0414(opcode2, destination, (byte) 0, source, amd64xmmcomparison);
            return;
        }
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0419(byte opcode2, AMD64XMMRegister destination, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0415(opcode2, destination, (byte) 0, source, amd64xmmcomparison);
            return;
        }
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0420(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0421(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0422(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0423(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0424(byte opcode2, AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0425(byte opcode2, AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0426(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0427(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0428(byte opcode2, AMD64XMMRegister destination, int rel32, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0429(byte opcode2, AMD64XMMRegister destination, int rel32, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0430(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0431(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0432(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0433(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0434(byte opcode2, AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0430(opcode2, destination, (byte) 0, base, index, scale, amd64xmmcomparison);
            return;
        }
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0435(byte opcode2, AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0431(opcode2, destination, (byte) 0, base, index, scale, amd64xmmcomparison);
            return;
        }
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0436(byte opcode2, AMD64XMMRegister destination, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0432(opcode2, destination, (byte) 0, source, amd64xmmcomparison);
            return;
        }
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0437(byte opcode2, AMD64XMMRegister destination, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0433(opcode2, destination, (byte) 0, source, amd64xmmcomparison);
            return;
        }
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0438(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0439(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0440(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0441(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0442(byte opcode2, AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0443(byte opcode2, AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0444(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0445(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0446(byte opcode2, AMD64XMMRegister destination, int rel32, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0447(byte opcode2, AMD64XMMRegister destination, int rel32, AMD64XMMComparison amd64xmmcomparison) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte((byte) amd64xmmcomparison.value()); // appended
    }

    private void assemble0448(byte opcode2, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0449(byte opcode2, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        if (source.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0450(byte opcode2, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0451(byte opcode2, byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0452(byte opcode2, byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        if (source.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0453(byte opcode2, byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0454(byte opcode2, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0448(opcode2, (byte) 0, base, index, scale, source);
            return;
        }
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0455(byte opcode2, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0449(opcode2, (byte) 0, base, index, scale, source);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        if (source.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0456(byte opcode2, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0450(opcode2, (byte) 0, base, index, scale, source);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0457(byte opcode2, AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 0; // rm field extension by REX.B bit
            }
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0458(byte opcode2, AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        if (destination.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
        }
        if (source.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0459(byte opcode2, AMD64GeneralRegister8 destination, AMD64GeneralRegister8 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 0; // rm field extension by REX.B bit
            }
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0460(byte opcode2, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0451(opcode2, (byte) 0, destination, source);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0461(byte opcode2, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0452(opcode2, (byte) 0, destination, source);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        if (source.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0462(byte opcode2, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0453(opcode2, (byte) 0, destination, source);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0463(byte opcode2, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0464(byte opcode2, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        if (source.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0465(byte opcode2, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0466(byte opcode2, int rel32, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0;
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0467(byte opcode2, int rel32, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0x48;
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        if (source.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0468(byte opcode2, int rel32, AMD64GeneralRegister8 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0469(byte opcode2, int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0470(byte opcode2, int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0x48;
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        if (source.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0471(byte opcode2, int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister8 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0472(byte opcode2, int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0473(byte opcode2, int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        if (source.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0474(byte opcode2, int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister8 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 2; // mod field extension by REX.R bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0475(byte opcode2, MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0476(byte opcode2, MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0477(byte opcode2, MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0478(byte opcode2, MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0479(byte opcode2, MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0475(opcode2, destination, (byte) 0, base, index, scale);
            return;
        }
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0480(byte opcode2, MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0476(opcode2, destination, (byte) 0, base, index, scale);
            return;
        }
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0481(byte opcode2, MMXRegister destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0477(opcode2, destination, (byte) 0, source);
            return;
        }
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0482(byte opcode2, MMXRegister destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0478(opcode2, destination, (byte) 0, source);
            return;
        }
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0483(byte opcode2, MMXRegister destination, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0484(byte opcode2, MMXRegister destination, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0485(byte opcode2, MMXRegister destination, int rel32) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0486(byte opcode2, MMXRegister destination, int rel32) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0487(byte opcode2, MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0488(byte opcode2, MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0489(byte opcode2, MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0490(byte opcode2, MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0491(byte opcode2, MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0492(byte opcode2, MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0493(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0494(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0495(byte opcode2, AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0493(opcode2, destination, (byte) 0, base, index, scale);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0496(byte opcode2, AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0494(opcode2, destination, (byte) 0, source);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0497(byte opcode2, AMD64XMMRegister destination, MMXRegister source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0498(byte opcode2, AMD64XMMRegister destination, MMXRegister source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0499(byte opcode2, AMD64XMMRegister destination, MMXRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0500(byte opcode2, AMD64XMMRegister destination, int rel32) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0501(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0502(byte opcode2, AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0503(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0504(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0505(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0506(byte opcode2, AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0504(opcode2, destination, (byte) 0, base, index, scale);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0507(byte opcode2, AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0505(opcode2, destination, (byte) 0, source);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0508(byte opcode2, AMD64XMMRegister destination, MMXRegister source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0509(byte opcode2, AMD64XMMRegister destination, MMXRegister source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0510(byte opcode2, AMD64XMMRegister destination, MMXRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0511(byte opcode2, AMD64XMMRegister destination, int rel32) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0512(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0513(byte opcode2, AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0514(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0515(byte opcode2, MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0516(byte opcode2, MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0517(byte opcode2, MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0518(byte opcode2, MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0519(byte opcode2, MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0515(opcode2, destination, (byte) 0, base, index, scale);
            return;
        }
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0520(byte opcode2, MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0516(opcode2, destination, (byte) 0, base, index, scale);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0521(byte opcode2, MMXRegister destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0517(opcode2, destination, (byte) 0, source);
            return;
        }
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0522(byte opcode2, MMXRegister destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0518(opcode2, destination, (byte) 0, source);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0523(byte opcode2, MMXRegister destination, AMD64XMMRegister source) {
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0524(byte opcode2, MMXRegister destination, AMD64XMMRegister source) {
        byte rex = (byte) 0x48;
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0525(byte opcode2, MMXRegister destination, int rel32) {
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0526(byte opcode2, MMXRegister destination, int rel32) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0527(byte opcode2, MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0528(byte opcode2, MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0529(byte opcode2, MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0530(byte opcode2, MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0x48;
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0531(byte opcode2, MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0532(byte opcode2, MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0533(byte opcode2, AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0534(byte opcode2, AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0535(byte opcode2, AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0533(opcode2, destination, (byte) 0, base, index, scale);
            return;
        }
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0536(byte opcode2, AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0534(opcode2, destination, (byte) 0, source);
            return;
        }
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0537(byte opcode2, AMD64GeneralRegister32 destination, AMD64XMMRegister source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0538(byte opcode2, AMD64GeneralRegister32 destination, int rel32) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0539(byte opcode2, AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0540(byte opcode2, AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0541(byte opcode2, AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0542(byte opcode2, AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0543(byte opcode2, AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0544(byte opcode2, AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0542(opcode2, destination, (byte) 0, base, index, scale);
            return;
        }
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0545(byte opcode2, AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0543(opcode2, destination, (byte) 0, source);
            return;
        }
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0546(byte opcode2, AMD64GeneralRegister64 destination, AMD64XMMRegister source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0547(byte opcode2, AMD64GeneralRegister64 destination, int rel32) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0548(byte opcode2, AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0549(byte opcode2, AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0550(byte opcode2, AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0551(byte opcode2, AMD64XMMRegister destination, AMD64GeneralRegister32 source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0552(byte opcode2, AMD64XMMRegister destination, AMD64GeneralRegister64 source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0553(byte opcode2, AMD64XMMRegister destination, AMD64GeneralRegister32 source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0554(byte opcode2, AMD64XMMRegister destination, AMD64GeneralRegister64 source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0555(byte opcode2, AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0556(byte opcode2, AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0557(byte opcode2, AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0555(opcode2, destination, (byte) 0, base, index, scale);
            return;
        }
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0558(byte opcode2, AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0556(opcode2, destination, (byte) 0, source);
            return;
        }
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0559(byte opcode2, AMD64GeneralRegister32 destination, AMD64XMMRegister source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0560(byte opcode2, AMD64GeneralRegister32 destination, int rel32) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0561(byte opcode2, AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0562(byte opcode2, AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0563(byte opcode2, AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0564(byte opcode2, AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0565(byte opcode2, AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0566(byte opcode2, AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0564(opcode2, destination, (byte) 0, base, index, scale);
            return;
        }
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0567(byte opcode2, AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0565(opcode2, destination, (byte) 0, source);
            return;
        }
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0568(byte opcode2, AMD64GeneralRegister64 destination, AMD64XMMRegister source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0569(byte opcode2, AMD64GeneralRegister64 destination, int rel32) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0570(byte opcode2, AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0571(byte opcode2, AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0572(byte opcode2, AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0573(byte opcode1, byte modRmOpcode, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0574(byte opcode1, byte modRmOpcode, byte disp8, AMD64IndirectRegister64 destination) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0575(byte opcode1, byte modRmOpcode, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0573(opcode1, modRmOpcode, (byte) 0, base, index, scale);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0576(byte opcode1, byte modRmOpcode, AMD64GeneralRegister32 destination) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0577(byte opcode1, byte modRmOpcode, AMD64GeneralRegister64 destination) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0578(byte opcode1, byte modRmOpcode, AMD64GeneralRegister8 destination) {
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 0; // rm field extension by REX.B bit
            }
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0579(byte opcode1, byte modRmOpcode, AMD64GeneralRegister8 destination) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        if (destination.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0580(byte opcode1, byte modRmOpcode, AMD64GeneralRegister8 destination) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 0; // rm field extension by REX.B bit
            }
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0581(byte opcode1, byte modRmOpcode, AMD64IndirectRegister64 destination) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0574(opcode1, modRmOpcode, (byte) 0, destination);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0582(byte opcode1, byte modRmOpcode, int rel32) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 5 << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0583(byte opcode1, byte modRmOpcode, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0584(byte opcode1, byte modRmOpcode, int m32, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0x48;
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0585(byte opcode1, byte modRmOpcode, int disp32, AMD64IndirectRegister64 destination) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0586(byte opcode1, short imm16, byte imm8) {
        emitByte(opcode1);
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0587(byte opcode1, short imm16, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(opcode1);
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0588(byte opcode2) {
        emitByte((byte) (0xD9)); // opcode1
        emitByte(opcode2);
    }

    private void assemble0589(byte opcode2) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte((byte) (0xD9)); // opcode1
        emitByte(opcode2);
    }

    private void assemble0590(byte opcode2) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte((byte) (0xD9)); // opcode1
        emitByte(opcode2);
    }

    private void assemble0591(byte opcode2, FPStackRegister st_i) {
        emitByte((byte) (0xD8)); // opcode1
        emitByte((byte) (opcode2 + st_i.value())); // opcode2
    }

    private void assemble0592(byte opcode2, FPStackRegister st_i) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte((byte) (0xD8)); // opcode1
        emitByte((byte) (opcode2 + st_i.value())); // opcode2
    }

    private void assemble0593(byte opcode2, FPStackRegister st_i) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte((byte) (0xD8)); // opcode1
        emitByte((byte) (opcode2 + st_i.value())); // opcode2
    }

    private void assemble0594(byte opcode2, FPStackRegister st_i) {
        emitByte((byte) (0xDC)); // opcode1
        emitByte((byte) (opcode2 + st_i.value())); // opcode2
    }

    private void assemble0595(byte opcode2, FPStackRegister st_i) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte((byte) (0xDC)); // opcode1
        emitByte((byte) (opcode2 + st_i.value())); // opcode2
    }

    private void assemble0596(byte opcode2, FPStackRegister st_i) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte((byte) (0xDC)); // opcode1
        emitByte((byte) (opcode2 + st_i.value())); // opcode2
    }

    private void assemble0597(byte opcode2, FPStackRegister st_i) {
        emitByte((byte) (0xDE)); // opcode1
        emitByte((byte) (opcode2 + st_i.value())); // opcode2
    }

    private void assemble0598(byte opcode2, FPStackRegister st_i) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte((byte) (0xDE)); // opcode1
        emitByte((byte) (opcode2 + st_i.value())); // opcode2
    }

    private void assemble0599(byte opcode2, FPStackRegister st_i) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte((byte) (0xDE)); // opcode1
        emitByte((byte) (opcode2 + st_i.value())); // opcode2
    }

    private void assemble0600(byte opcode2) {
        emitByte((byte) (0xDB)); // opcode1
        emitByte(opcode2);
    }

    private void assemble0601(byte opcode2) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte((byte) (0xDB)); // opcode1
        emitByte(opcode2);
    }

    private void assemble0602(byte opcode2) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte((byte) (0xDB)); // opcode1
        emitByte(opcode2);
    }

    private void assemble0603(byte opcode2, FPStackRegister st_i) {
        emitByte((byte) (0xDA)); // opcode1
        emitByte((byte) (opcode2 + st_i.value())); // opcode2
    }

    private void assemble0604(byte opcode2, FPStackRegister st_i) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte((byte) (0xDA)); // opcode1
        emitByte((byte) (opcode2 + st_i.value())); // opcode2
    }

    private void assemble0605(byte opcode2, FPStackRegister st_i) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte((byte) (0xDA)); // opcode1
        emitByte((byte) (opcode2 + st_i.value())); // opcode2
    }

    private void assemble0606(byte opcode2, FPStackRegister st_i) {
        emitByte((byte) (0xDB)); // opcode1
        emitByte((byte) (opcode2 + st_i.value())); // opcode2
    }

    private void assemble0607(byte opcode2, FPStackRegister st_i) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte((byte) (0xDB)); // opcode1
        emitByte((byte) (opcode2 + st_i.value())); // opcode2
    }

    private void assemble0608(byte opcode2, FPStackRegister st_i) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte((byte) (0xDB)); // opcode1
        emitByte((byte) (opcode2 + st_i.value())); // opcode2
    }

    private void assemble0609(byte opcode2, FPStackRegister st_i) {
        emitByte((byte) (0xDF)); // opcode1
        emitByte((byte) (opcode2 + st_i.value())); // opcode2
    }

    private void assemble0610(byte opcode2, FPStackRegister st_i) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte((byte) (0xDF)); // opcode1
        emitByte((byte) (opcode2 + st_i.value())); // opcode2
    }

    private void assemble0611(byte opcode2, FPStackRegister st_i) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte((byte) (0xDF)); // opcode1
        emitByte((byte) (opcode2 + st_i.value())); // opcode2
    }

    private void assemble0612(byte opcode2) {
        emitByte((byte) (0xDE)); // opcode1
        emitByte(opcode2);
    }

    private void assemble0613(byte opcode2) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte((byte) (0xDE)); // opcode1
        emitByte(opcode2);
    }

    private void assemble0614(byte opcode2) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte((byte) (0xDE)); // opcode1
        emitByte(opcode2);
    }

    private void assemble0615(byte opcode2, FPStackRegister st_i) {
        emitByte((byte) (0xDD)); // opcode1
        emitByte((byte) (opcode2 + st_i.value())); // opcode2
    }

    private void assemble0616(byte opcode2, FPStackRegister st_i) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte((byte) (0xDD)); // opcode1
        emitByte((byte) (opcode2 + st_i.value())); // opcode2
    }

    private void assemble0617(byte opcode2, FPStackRegister st_i) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte((byte) (0xDD)); // opcode1
        emitByte((byte) (opcode2 + st_i.value())); // opcode2
    }

    private void assemble0618(byte opcode2, FPStackRegister st_i) {
        emitByte((byte) (0xD9)); // opcode1
        emitByte((byte) (opcode2 + st_i.value())); // opcode2
    }

    private void assemble0619(byte opcode2, FPStackRegister st_i) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte((byte) (0xD9)); // opcode1
        emitByte((byte) (opcode2 + st_i.value())); // opcode2
    }

    private void assemble0620(byte opcode2, FPStackRegister st_i) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte((byte) (0xD9)); // opcode1
        emitByte((byte) (opcode2 + st_i.value())); // opcode2
    }

    private void assemble0621(byte opcode2) {
        emitByte((byte) (0xDF)); // opcode1
        emitByte(opcode2);
    }

    private void assemble0622(byte opcode2) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte((byte) (0xDF)); // opcode1
        emitByte(opcode2);
    }

    private void assemble0623(byte opcode2) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte((byte) (0xDF)); // opcode1
        emitByte(opcode2);
    }

    private void assemble0624(byte opcode2) {
        emitByte((byte) (0xDA)); // opcode1
        emitByte(opcode2);
    }

    private void assemble0625(byte opcode2) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte((byte) (0xDA)); // opcode1
        emitByte(opcode2);
    }

    private void assemble0626(byte opcode2) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte((byte) (0xDA)); // opcode1
        emitByte(opcode2);
    }

    private void assemble0627(byte opcode1, AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble0628(byte opcode1, AMD64GeneralRegister16 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0629(byte opcode1, AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble0630(byte opcode1, AMD64GeneralRegister16 destination, byte disp8, AMD64IndirectRegister64 source, short imm16) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0631(byte opcode1, AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0627(opcode1, destination, (byte) 0, base, index, scale, imm8);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(imm8); // appended
    }

    private void assemble0632(byte opcode1, AMD64GeneralRegister16 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0628(opcode1, destination, (byte) 0, base, index, scale, imm16);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0633(byte opcode1, AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble0634(byte opcode1, AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source, short imm16) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0635(byte opcode1, AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source, byte imm8) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0629(opcode1, destination, (byte) 0, source, imm8);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(imm8); // appended
    }

    private void assemble0636(byte opcode1, AMD64GeneralRegister16 destination, AMD64IndirectRegister64 source, short imm16) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0630(opcode1, destination, (byte) 0, source, imm16);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0637(byte opcode1, AMD64GeneralRegister16 destination, int rel32, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0638(byte opcode1, AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0639(byte opcode1, AMD64GeneralRegister16 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0640(byte opcode1, AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0641(byte opcode1, AMD64GeneralRegister16 destination, int m32, AMD64IndexRegister64 index, Scale scale, short imm16) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0642(byte opcode1, AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0643(byte opcode1, AMD64GeneralRegister16 destination, int disp32, AMD64IndirectRegister64 source, short imm16) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0644(byte opcode1, AMD64GeneralRegister16 destination, int rel32, short imm16) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0645(byte opcode1, AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble0646(byte opcode1, AMD64GeneralRegister32 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0647(byte opcode1, AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble0648(byte opcode1, AMD64GeneralRegister32 destination, byte disp8, AMD64IndirectRegister64 source, int imm32) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0649(byte opcode1, AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0645(opcode1, destination, (byte) 0, base, index, scale, imm8);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(imm8); // appended
    }

    private void assemble0650(byte opcode1, AMD64GeneralRegister32 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0646(opcode1, destination, (byte) 0, base, index, scale, imm32);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0651(byte opcode1, AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source, byte imm8) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble0652(byte opcode1, AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source, int imm32) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0653(byte opcode1, AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source, byte imm8) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0647(opcode1, destination, (byte) 0, source, imm8);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(imm8); // appended
    }

    private void assemble0654(byte opcode1, AMD64GeneralRegister32 destination, AMD64IndirectRegister64 source, int imm32) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0648(opcode1, destination, (byte) 0, source, imm32);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0655(byte opcode1, AMD64GeneralRegister32 destination, int rel32, byte imm8) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0656(byte opcode1, AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0657(byte opcode1, AMD64GeneralRegister32 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0658(byte opcode1, AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0659(byte opcode1, AMD64GeneralRegister32 destination, int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0660(byte opcode1, AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0661(byte opcode1, AMD64GeneralRegister32 destination, int disp32, AMD64IndirectRegister64 source, int imm32) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0662(byte opcode1, AMD64GeneralRegister32 destination, int rel32, int imm32) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0663(byte opcode1, AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble0664(byte opcode1, AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0665(byte opcode1, AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble0666(byte opcode1, AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source, int imm32) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0667(byte opcode1, AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0663(opcode1, destination, (byte) 0, base, index, scale, imm8);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(imm8); // appended
    }

    private void assemble0668(byte opcode1, AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0664(opcode1, destination, (byte) 0, base, index, scale, imm32);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0669(byte opcode1, AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble0670(byte opcode1, AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source, int imm32) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0671(byte opcode1, AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source, byte imm8) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0665(opcode1, destination, (byte) 0, source, imm8);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(imm8); // appended
    }

    private void assemble0672(byte opcode1, AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source, int imm32) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0666(opcode1, destination, (byte) 0, source, imm32);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0673(byte opcode1, AMD64GeneralRegister64 destination, int rel32, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0674(byte opcode1, AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0675(byte opcode1, AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0676(byte opcode1, AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0677(byte opcode1, AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0678(byte opcode1, AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0679(byte opcode1, AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source, int imm32) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0680(byte opcode1, AMD64GeneralRegister64 destination, int rel32, int imm32) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0681(byte opcode1, byte rel8) {
        emitByte(opcode1);
        emitByte(rel8); // appended
    }

    private void assemble0682(byte opcode2, int rel32) {
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0683(byte opcode1, byte rel8) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte(opcode1);
        emitByte(rel8); // appended
    }

    private void assemble0684(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0685(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0686(byte opcode2, AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0684(opcode2, destination, (byte) 0, base, index, scale);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0687(byte opcode2, AMD64XMMRegister destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0685(opcode2, destination, (byte) 0, source);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0688(byte opcode2, AMD64XMMRegister destination, int rel32) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0689(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0690(byte opcode2, AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0691(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0692(byte opcode2, byte modRmOpcode) {
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        emitByte(modRMByte);
    }

    private void assemble0693(byte opcode2, byte modRmOpcode) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        emitByte(modRMByte);
    }

    private void assemble0694(byte opcode2, byte modRmOpcode) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        emitByte(modRMByte);
    }

    private void assemble0695(byte opcode2, byte modRmOpcode, AMD64GeneralRegister16 destination) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0696(byte opcode2, byte modRmOpcode, AMD64GeneralRegister16 destination) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0697(byte opcode2, byte modRmOpcode, AMD64GeneralRegister16 destination) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0698(byte opcode1, byte rel8) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(opcode1);
        emitByte(rel8); // appended
    }

    private void assemble0699(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0700(byte opcode2, MMXRegister destination, MMXRegister source) {
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0701(byte opcode2, MMXRegister destination, MMXRegister source) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0702(byte opcode2, MMXRegister destination, MMXRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0703(byte opcode1, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble0704(byte opcode1, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble0705(byte opcode1, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble0706(byte opcode1, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, SegmentRegister source) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0707(byte opcode1, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, SegmentRegister source) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0708(byte opcode1, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, SegmentRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0709(byte opcode1, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0710(byte opcode1, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0711(byte opcode1, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0712(byte opcode1, byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble0713(byte opcode1, byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble0714(byte opcode1, byte disp8, AMD64IndirectRegister64 destination, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble0715(byte opcode1, byte disp8, AMD64IndirectRegister64 destination, SegmentRegister source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0716(byte opcode1, byte disp8, AMD64IndirectRegister64 destination, SegmentRegister source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0717(byte opcode1, byte disp8, AMD64IndirectRegister64 destination, SegmentRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0718(byte opcode1, byte disp8, AMD64IndirectRegister64 destination, int imm32) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0719(byte opcode1, byte disp8, AMD64IndirectRegister64 destination, int imm32) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0720(byte opcode1, byte disp8, AMD64IndirectRegister64 destination, short imm16) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0721(byte opcode1, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0703(opcode1, (byte) 0, base, index, scale, imm8);
            return;
        }
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(imm8); // appended
    }

    private void assemble0722(byte opcode1, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0704(opcode1, (byte) 0, base, index, scale, imm8);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(imm8); // appended
    }

    private void assemble0723(byte opcode1, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0705(opcode1, (byte) 0, base, index, scale, imm8);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(imm8); // appended
    }

    private void assemble0724(byte opcode1, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, SegmentRegister source) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0706(opcode1, (byte) 0, base, index, scale, source);
            return;
        }
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0725(byte opcode1, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, SegmentRegister source) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0707(opcode1, (byte) 0, base, index, scale, source);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0726(byte opcode1, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, SegmentRegister source) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0708(opcode1, (byte) 0, base, index, scale, source);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0727(byte opcode1, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0709(opcode1, (byte) 0, base, index, scale, imm32);
            return;
        }
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0728(byte opcode1, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0710(opcode1, (byte) 0, base, index, scale, imm32);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0729(byte opcode1, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0711(opcode1, (byte) 0, base, index, scale, imm16);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0730(byte opcode1, AMD64GeneralRegister16 destination, SegmentRegister source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0731(byte opcode1, AMD64GeneralRegister16 destination, SegmentRegister source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0732(byte opcode1, AMD64GeneralRegister16 destination, SegmentRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0733(byte opcode1, AMD64GeneralRegister16 destination, short imm16) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0734(byte opcode1, AMD64GeneralRegister16 register, short imm16) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (register.value() >= 8) {
            rex |= (1 << 0) + 0x40; // opcode1 extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (opcode1 + (register.value()& 7))); // opcode1_rexb
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0735(byte opcode1, AMD64GeneralRegister32 destination, int imm32) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0736(byte opcode1, AMD64GeneralRegister32 register, int imm32) {
        byte rex = (byte) 0;
        if (register.value() >= 8) {
            rex |= (1 << 0) + 0x40; // opcode1 extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (opcode1 + (register.value()& 7))); // opcode1_rexb
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0737(byte opcode2, AMD64GeneralRegister64 destination, ControlRegister source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0738(byte opcode2, AMD64GeneralRegister64 destination, ControlRegister source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0739(byte opcode2, AMD64GeneralRegister64 destination, ControlRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0740(byte opcode2, AMD64GeneralRegister64 destination, DebugRegister source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0741(byte opcode2, AMD64GeneralRegister64 destination, DebugRegister source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0742(byte opcode2, AMD64GeneralRegister64 destination, DebugRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0743(byte opcode1, AMD64GeneralRegister64 destination, int imm32) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0744(byte opcode1, AMD64GeneralRegister64 register, long imm64) {
        byte rex = (byte) 0x48;
        rex |= (register.value() & 8) >> 3; // opcode1 extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (opcode1 + (register.value()& 7))); // opcode1_rexb
        // appended:
        emitByte((byte) (imm64 & 0xff));
        imm64 >>= 8;
        emitByte((byte) (imm64 & 0xff));
        imm64 >>= 8;
        emitByte((byte) (imm64 & 0xff));
        imm64 >>= 8;
        emitByte((byte) (imm64 & 0xff));
        imm64 >>= 8;
        emitByte((byte) (imm64 & 0xff));
        imm64 >>= 8;
        emitByte((byte) (imm64 & 0xff));
        imm64 >>= 8;
        emitByte((byte) (imm64 & 0xff));
        imm64 >>= 8;
        emitByte((byte) (imm64 & 0xff));
    }

    private void assemble0745(byte opcode1, AMD64GeneralRegister8 register, byte imm8) {
        byte rex = (byte) 0;
        if (register.requiresRexPrefix()) {
            rex |= 0x40;
            if (register.value() >= 8) {
                rex |= 1 << 0; // opcode1 extension by REX.B bit
            }
        }
        if (rex != (byte) 0) {
            if (register.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + register.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte((byte) (opcode1 + (register.value()& 7))); // opcode1_rexb
        emitByte(imm8); // appended
    }

    private void assemble0746(byte opcode1, AMD64GeneralRegister8 register, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (register.value() & 8) >> 3; // opcode1 extension by REX.B bit
        if (register.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + register.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte((byte) (opcode1 + (register.value()& 7))); // opcode1_rexb
        emitByte(imm8); // appended
    }

    private void assemble0747(byte opcode1, AMD64GeneralRegister8 register, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (register.requiresRexPrefix()) {
            rex |= 0x40;
            if (register.value() >= 8) {
                rex |= 1 << 0; // opcode1 extension by REX.B bit
            }
        }
        if (rex != (byte) 0) {
            if (register.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + register.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte((byte) (opcode1 + (register.value()& 7))); // opcode1_rexb
        emitByte(imm8); // appended
    }

    private void assemble0748(byte opcode1, AMD64GeneralRegister8 destination, byte imm8) {
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 0; // rm field extension by REX.B bit
            }
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble0749(byte opcode1, AMD64GeneralRegister8 destination, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        if (destination.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble0750(byte opcode1, AMD64GeneralRegister8 destination, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 0; // rm field extension by REX.B bit
            }
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble0751(byte opcode1, AMD64IndirectRegister64 destination, byte imm8) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0712(opcode1, (byte) 0, destination, imm8);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(imm8); // appended
    }

    private void assemble0752(byte opcode1, AMD64IndirectRegister64 destination, byte imm8) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0713(opcode1, (byte) 0, destination, imm8);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(imm8); // appended
    }

    private void assemble0753(byte opcode1, AMD64IndirectRegister64 destination, byte imm8) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0714(opcode1, (byte) 0, destination, imm8);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(imm8); // appended
    }

    private void assemble0754(byte opcode1, AMD64IndirectRegister64 destination, SegmentRegister source) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0715(opcode1, (byte) 0, destination, source);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0755(byte opcode1, AMD64IndirectRegister64 destination, SegmentRegister source) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0716(opcode1, (byte) 0, destination, source);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0756(byte opcode1, AMD64IndirectRegister64 destination, SegmentRegister source) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0717(opcode1, (byte) 0, destination, source);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0757(byte opcode1, AMD64IndirectRegister64 destination, int imm32) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0718(opcode1, (byte) 0, destination, imm32);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0758(byte opcode1, AMD64IndirectRegister64 destination, int imm32) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0719(opcode1, (byte) 0, destination, imm32);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0759(byte opcode1, AMD64IndirectRegister64 destination, short imm16) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0720(opcode1, (byte) 0, destination, imm16);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0760(byte opcode2, ControlRegister destination, AMD64GeneralRegister64 source) {
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0761(byte opcode2, ControlRegister destination, AMD64GeneralRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0762(byte opcode2, ControlRegister destination, AMD64GeneralRegister64 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0763(byte opcode2, DebugRegister destination, AMD64GeneralRegister64 source) {
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0764(byte opcode2, DebugRegister destination, AMD64GeneralRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0765(byte opcode2, DebugRegister destination, AMD64GeneralRegister64 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0766(byte opcode1, SegmentRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0767(byte opcode1, SegmentRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0768(byte opcode1, SegmentRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0769(byte opcode1, SegmentRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0770(byte opcode1, SegmentRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0771(byte opcode1, SegmentRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0772(byte opcode1, SegmentRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0766(opcode1, destination, (byte) 0, base, index, scale);
            return;
        }
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0773(byte opcode1, SegmentRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0767(opcode1, destination, (byte) 0, base, index, scale);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0774(byte opcode1, SegmentRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0768(opcode1, destination, (byte) 0, base, index, scale);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0775(byte opcode1, SegmentRegister destination, AMD64GeneralRegister16 source) {
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0776(byte opcode1, SegmentRegister destination, AMD64GeneralRegister16 source) {
        byte rex = (byte) 0x48;
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0777(byte opcode1, SegmentRegister destination, AMD64GeneralRegister16 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0778(byte opcode1, SegmentRegister destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0769(opcode1, destination, (byte) 0, source);
            return;
        }
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0779(byte opcode1, SegmentRegister destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0770(opcode1, destination, (byte) 0, source);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0780(byte opcode1, SegmentRegister destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0771(opcode1, destination, (byte) 0, source);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0781(byte opcode1, SegmentRegister destination, int rel32) {
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0782(byte opcode1, SegmentRegister destination, int rel32) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0783(byte opcode1, SegmentRegister destination, int rel32) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0784(byte opcode1, SegmentRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0785(byte opcode1, SegmentRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0786(byte opcode1, SegmentRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0787(byte opcode1, SegmentRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0788(byte opcode1, SegmentRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0x48;
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0789(byte opcode1, SegmentRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0790(byte opcode1, SegmentRegister destination, int disp32, AMD64IndirectRegister64 source) {
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0791(byte opcode1, SegmentRegister destination, int disp32, AMD64IndirectRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0792(byte opcode1, SegmentRegister destination, int disp32, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0793(byte opcode1, int rel32, byte imm8) {
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0794(byte opcode1, int rel32, byte imm8) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0795(byte opcode1, int rel32, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0796(byte opcode1, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0797(byte opcode1, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0798(byte opcode1, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0799(byte opcode1, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, SegmentRegister source) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0800(byte opcode1, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, SegmentRegister source) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0801(byte opcode1, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, SegmentRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0802(byte opcode1, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0803(byte opcode1, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, int imm32) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0804(byte opcode1, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, short imm16) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0805(byte opcode1, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0806(byte opcode1, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0807(byte opcode1, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0808(byte opcode1, int m32, AMD64IndexRegister64 index, Scale scale, SegmentRegister source) {
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0809(byte opcode1, int m32, AMD64IndexRegister64 index, Scale scale, SegmentRegister source) {
        byte rex = (byte) 0x48;
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0810(byte opcode1, int m32, AMD64IndexRegister64 index, Scale scale, SegmentRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0811(byte opcode1, int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0812(byte opcode1, int m32, AMD64IndexRegister64 index, Scale scale, int imm32) {
        byte rex = (byte) 0x48;
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0813(byte opcode1, int m32, AMD64IndexRegister64 index, Scale scale, short imm16) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0814(byte opcode1, int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0815(byte opcode1, int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0816(byte opcode1, int disp32, AMD64IndirectRegister64 destination, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble0817(byte opcode1, int disp32, AMD64IndirectRegister64 destination, SegmentRegister source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0818(byte opcode1, int disp32, AMD64IndirectRegister64 destination, SegmentRegister source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0819(byte opcode1, int disp32, AMD64IndirectRegister64 destination, SegmentRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0820(byte opcode1, int disp32, AMD64IndirectRegister64 destination, int imm32) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0821(byte opcode1, int disp32, AMD64IndirectRegister64 destination, int imm32) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0822(byte opcode1, int disp32, AMD64IndirectRegister64 destination, short imm16) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0823(byte opcode1, int rel32, SegmentRegister source) {
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0824(byte opcode1, int rel32, SegmentRegister source) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0825(byte opcode1, int rel32, SegmentRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0826(byte opcode1, int rel32, int imm32) {
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0827(byte opcode1, int rel32, int imm32) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        // appended:
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
        imm32 >>= 8;
        emitByte((byte) (imm32 & 0xff));
    }

    private void assemble0828(byte opcode1, int rel32, short imm16) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble0829(byte opcode1, long m64) {
        emitByte(opcode1);
        // appended:
        emitByte((byte) (m64 & 0xff));
        m64 >>= 8;
        emitByte((byte) (m64 & 0xff));
        m64 >>= 8;
        emitByte((byte) (m64 & 0xff));
        m64 >>= 8;
        emitByte((byte) (m64 & 0xff));
        m64 >>= 8;
        emitByte((byte) (m64 & 0xff));
        m64 >>= 8;
        emitByte((byte) (m64 & 0xff));
        m64 >>= 8;
        emitByte((byte) (m64 & 0xff));
        m64 >>= 8;
        emitByte((byte) (m64 & 0xff));
    }

    private void assemble0830(byte opcode1, long m64) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte(opcode1);
        // appended:
        emitByte((byte) (m64 & 0xff));
        m64 >>= 8;
        emitByte((byte) (m64 & 0xff));
        m64 >>= 8;
        emitByte((byte) (m64 & 0xff));
        m64 >>= 8;
        emitByte((byte) (m64 & 0xff));
        m64 >>= 8;
        emitByte((byte) (m64 & 0xff));
        m64 >>= 8;
        emitByte((byte) (m64 & 0xff));
        m64 >>= 8;
        emitByte((byte) (m64 & 0xff));
        m64 >>= 8;
        emitByte((byte) (m64 & 0xff));
    }

    private void assemble0831(byte opcode1, long m64) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(opcode1);
        // appended:
        emitByte((byte) (m64 & 0xff));
        m64 >>= 8;
        emitByte((byte) (m64 & 0xff));
        m64 >>= 8;
        emitByte((byte) (m64 & 0xff));
        m64 >>= 8;
        emitByte((byte) (m64 & 0xff));
        m64 >>= 8;
        emitByte((byte) (m64 & 0xff));
        m64 >>= 8;
        emitByte((byte) (m64 & 0xff));
        m64 >>= 8;
        emitByte((byte) (m64 & 0xff));
        m64 >>= 8;
        emitByte((byte) (m64 & 0xff));
    }

    private void assemble0832(byte opcode2, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0833(byte opcode2, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0834(byte opcode2, byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0835(byte opcode2, byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0836(byte opcode2, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0832(opcode2, (byte) 0, base, index, scale, source);
            return;
        }
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0837(byte opcode2, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0833(opcode2, (byte) 0, base, index, scale, source);
            return;
        }
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0838(byte opcode2, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0834(opcode2, (byte) 0, destination, source);
            return;
        }
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0839(byte opcode2, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0835(opcode2, (byte) 0, destination, source);
            return;
        }
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0840(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0841(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0842(byte opcode2, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0843(byte opcode2, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0844(byte opcode2, int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0845(byte opcode2, int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0846(byte opcode2, int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0847(byte opcode2, int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0848(byte opcode2, int rel32, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0849(byte opcode2, int rel32, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0850(byte opcode2, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0851(byte opcode2, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0852(byte opcode2, byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0853(byte opcode2, byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0854(byte opcode2, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0850(opcode2, (byte) 0, base, index, scale, source);
            return;
        }
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0855(byte opcode2, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0851(opcode2, (byte) 0, base, index, scale, source);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0856(byte opcode2, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0852(opcode2, (byte) 0, destination, source);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0857(byte opcode2, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0853(opcode2, (byte) 0, destination, source);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0858(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0859(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0860(byte opcode2, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0861(byte opcode2, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0862(byte opcode2, int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0863(byte opcode2, int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        byte rex = (byte) 0x48;
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0864(byte opcode2, int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0865(byte opcode2, int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0866(byte opcode2, int rel32, AMD64XMMRegister source) {
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0867(byte opcode2, int rel32, AMD64XMMRegister source) {
        byte rex = (byte) 0x48;
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0868(byte opcode2, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0869(byte opcode2, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0870(byte opcode2, byte disp8, AMD64IndirectRegister64 destination, MMXRegister source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0871(byte opcode2, byte disp8, AMD64IndirectRegister64 destination, MMXRegister source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0872(byte opcode2, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0868(opcode2, (byte) 0, base, index, scale, source);
            return;
        }
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0873(byte opcode2, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0869(opcode2, (byte) 0, base, index, scale, source);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0874(byte opcode2, AMD64GeneralRegister32 destination, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0875(byte opcode2, AMD64GeneralRegister32 destination, MMXRegister source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0876(byte opcode2, AMD64GeneralRegister64 destination, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0877(byte opcode2, AMD64GeneralRegister64 destination, MMXRegister source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0878(byte opcode2, AMD64IndirectRegister64 destination, MMXRegister source) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0870(opcode2, (byte) 0, destination, source);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0879(byte opcode2, AMD64IndirectRegister64 destination, MMXRegister source) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0871(opcode2, (byte) 0, destination, source);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0880(byte opcode2, AMD64XMMRegister destination, AMD64GeneralRegister32 source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0881(byte opcode2, AMD64XMMRegister destination, AMD64GeneralRegister64 source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0882(byte opcode2, MMXRegister destination, AMD64GeneralRegister32 source) {
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0883(byte opcode2, MMXRegister destination, AMD64GeneralRegister64 source) {
        byte rex = (byte) 0x48;
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0884(byte opcode2, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0885(byte opcode2, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0886(byte opcode2, int m32, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0887(byte opcode2, int m32, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        byte rex = (byte) 0x48;
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0888(byte opcode2, int disp32, AMD64IndirectRegister64 destination, MMXRegister source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0889(byte opcode2, int disp32, AMD64IndirectRegister64 destination, MMXRegister source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0890(byte opcode2, int rel32, MMXRegister source) {
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0891(byte opcode2, int rel32, MMXRegister source) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0892(byte opcode2, MMXRegister destination, AMD64XMMRegister source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0893(byte opcode2, MMXRegister destination, AMD64XMMRegister source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0894(byte opcode2, MMXRegister destination, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0895(byte opcode2, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0896(byte opcode2, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0897(byte opcode2, byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0898(byte opcode2, byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0899(byte opcode2, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0895(opcode2, (byte) 0, base, index, scale, source);
            return;
        }
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0900(byte opcode2, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0896(opcode2, (byte) 0, base, index, scale, source);
            return;
        }
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0901(byte opcode2, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0897(opcode2, (byte) 0, destination, source);
            return;
        }
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0902(byte opcode2, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0898(opcode2, (byte) 0, destination, source);
            return;
        }
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0903(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0904(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0905(byte opcode2, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0906(byte opcode2, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0907(byte opcode2, int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0908(byte opcode2, int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0909(byte opcode2, int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0910(byte opcode2, int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0911(byte opcode2, int rel32, AMD64XMMRegister source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0912(byte opcode2, int rel32, AMD64XMMRegister source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0913(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0914(byte opcode2, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0915(byte opcode2, byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0916(byte opcode2, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0914(opcode2, (byte) 0, base, index, scale, source);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0917(byte opcode2, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0915(opcode2, (byte) 0, destination, source);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0918(byte opcode2, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0919(byte opcode2, int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0920(byte opcode2, int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0921(byte opcode2, int rel32, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0922(byte opcode2, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0923(byte opcode2, byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0924(byte opcode2, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0922(opcode2, (byte) 0, base, index, scale, source);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0925(byte opcode2, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0923(opcode2, (byte) 0, destination, source);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0926(byte opcode2, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0927(byte opcode2, int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0928(byte opcode2, int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0929(byte opcode2, int rel32, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0930(byte opcode2, AMD64GeneralRegister32 destination, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0931(byte opcode2, AMD64GeneralRegister32 destination, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0932(byte opcode2, AMD64GeneralRegister32 destination, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0933(byte opcode2, AMD64GeneralRegister32 destination, AMD64XMMRegister source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0934(byte opcode2, AMD64GeneralRegister32 destination, AMD64XMMRegister source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0935(byte opcode2, AMD64GeneralRegister32 destination, AMD64XMMRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0936(byte opcode2, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0937(byte opcode2, byte disp8, AMD64IndirectRegister64 destination, MMXRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0938(byte opcode2, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0936(opcode2, (byte) 0, base, index, scale, source);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0939(byte opcode2, AMD64IndirectRegister64 destination, MMXRegister source) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0937(opcode2, (byte) 0, destination, source);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0940(byte opcode2, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0941(byte opcode2, int m32, AMD64IndexRegister64 index, Scale scale, MMXRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0942(byte opcode2, int disp32, AMD64IndirectRegister64 destination, MMXRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0943(byte opcode2, int rel32, MMXRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0944(byte opcode2, MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0945(byte opcode2, MMXRegister destination, byte disp8, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0946(byte opcode2, MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0944(opcode2, destination, (byte) 0, base, index, scale);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0947(byte opcode2, MMXRegister destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0945(opcode2, destination, (byte) 0, source);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0948(byte opcode2, MMXRegister destination, MMXRegister source) {
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0949(byte opcode2, MMXRegister destination, MMXRegister source) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0950(byte opcode2, MMXRegister destination, MMXRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0951(byte opcode2, MMXRegister destination, int rel32) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0952(byte opcode2, MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0953(byte opcode2, MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0954(byte opcode2, MMXRegister destination, int disp32, AMD64IndirectRegister64 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0955(byte opcode2, AMD64XMMRegister destination, MMXRegister source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0956(byte opcode2, AMD64XMMRegister destination, MMXRegister source) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0957(byte opcode2, AMD64XMMRegister destination, MMXRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0958(byte opcode2, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0959(byte opcode2, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0960(byte opcode2, byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0961(byte opcode2, byte disp8, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0962(byte opcode2, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0958(opcode2, (byte) 0, base, index, scale, source);
            return;
        }
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0963(byte opcode2, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0959(opcode2, (byte) 0, base, index, scale, source);
            return;
        }
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0964(byte opcode2, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0960(opcode2, (byte) 0, destination, source);
            return;
        }
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0965(byte opcode2, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0961(opcode2, (byte) 0, destination, source);
            return;
        }
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0966(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0967(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
    }

    private void assemble0968(byte opcode2, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0969(byte opcode2, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0970(byte opcode2, int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0971(byte opcode2, int m32, AMD64IndexRegister64 index, Scale scale, AMD64XMMRegister source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0972(byte opcode2, int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0973(byte opcode2, int disp32, AMD64IndirectRegister64 destination, AMD64XMMRegister source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0974(byte opcode2, int rel32, AMD64XMMRegister source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0975(byte opcode2, int rel32, AMD64XMMRegister source) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0976(byte opcode2, AMD64GeneralRegister16 destination, AMD64GeneralRegister8 source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 0; // rm field extension by REX.B bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0977(byte opcode2, AMD64GeneralRegister32 destination, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.requiresRexPrefix()) {
            rex |= 0x40;
            if (source.value() >= 8) {
                rex |= 1 << 0; // rm field extension by REX.B bit
            }
        }
        if (rex != (byte) 0) {
            if (source.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0978(byte opcode2, AMD64GeneralRegister64 destination, AMD64GeneralRegister8 source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        if (source.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + source.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0979(byte opcode1, AMD64GeneralRegister64 destination, AMD64GeneralRegister32 source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0980(byte opcode2, AMD64GeneralRegister32 destination, AMD64GeneralRegister16 source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0981(byte opcode2, AMD64GeneralRegister64 destination, AMD64GeneralRegister16 source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0982(byte opcode1, AMD64GeneralRegister64 destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble0983(byte opcode1, AMD64GeneralRegister64 destination, byte disp8, AMD64IndirectRegister64 source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble0984(byte opcode1, AMD64GeneralRegister64 destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0982(opcode1, destination, (byte) 0, base, index, scale);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble0985(byte opcode1, AMD64GeneralRegister64 destination, AMD64GeneralRegister32 source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble0986(byte opcode1, AMD64GeneralRegister64 destination, AMD64IndirectRegister64 source) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0983(opcode1, destination, (byte) 0, source);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble0987(byte opcode1, AMD64GeneralRegister64 destination, int rel32) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble0988(byte opcode1, AMD64GeneralRegister64 destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0989(byte opcode1, AMD64GeneralRegister64 destination, int m32, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble0990(byte opcode1, AMD64GeneralRegister64 destination, int disp32, AMD64IndirectRegister64 source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble0991(byte opcode2, AMD64GeneralRegister32 destination, AMD64XMMRegister source, byte imm8) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble0992(byte opcode2, AMD64GeneralRegister32 destination, AMD64XMMRegister source, byte imm8) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble0993(byte opcode2, AMD64GeneralRegister32 destination, AMD64XMMRegister source, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble0994(byte opcode2, AMD64GeneralRegister32 destination, MMXRegister source, byte imm8) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble0995(byte opcode2, AMD64GeneralRegister32 destination, MMXRegister source, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble0996(byte opcode2, AMD64GeneralRegister32 destination, MMXRegister source, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble0997(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble0998(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble0999(byte opcode2, AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble0997(opcode2, destination, (byte) 0, base, index, scale, imm8);
            return;
        }
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(imm8); // appended
    }

    private void assemble1000(byte opcode2, AMD64XMMRegister destination, AMD64GeneralRegister32 source, byte imm8) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble1001(byte opcode2, AMD64XMMRegister destination, AMD64IndirectRegister64 source, byte imm8) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble0998(opcode2, destination, (byte) 0, source, imm8);
            return;
        }
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(imm8); // appended
    }

    private void assemble1002(byte opcode2, AMD64XMMRegister destination, int rel32, byte imm8) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1003(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1004(byte opcode2, AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1005(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1006(byte opcode2, MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble1007(byte opcode2, MMXRegister destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble1008(byte opcode2, MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble1006(opcode2, destination, (byte) 0, base, index, scale, imm8);
            return;
        }
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(imm8); // appended
    }

    private void assemble1009(byte opcode2, MMXRegister destination, AMD64GeneralRegister32 source, byte imm8) {
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble1010(byte opcode2, MMXRegister destination, AMD64IndirectRegister64 source, byte imm8) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble1007(opcode2, destination, (byte) 0, source, imm8);
            return;
        }
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(imm8); // appended
    }

    private void assemble1011(byte opcode2, MMXRegister destination, int rel32, byte imm8) {
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1012(byte opcode2, MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1013(byte opcode2, MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1014(byte opcode2, MMXRegister destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1015(byte opcode2, AMD64GeneralRegister32 destination, MMXRegister source) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble1016(byte opcode2, AMD64GeneralRegister32 destination, MMXRegister source) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble1017(byte opcode2, AMD64GeneralRegister32 destination, MMXRegister source) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble1018(byte opcode1, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble1019(byte opcode1, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble1020(byte opcode1, byte disp8, AMD64IndirectRegister64 destination) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble1021(byte opcode1, byte disp8, AMD64IndirectRegister64 destination) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble1022(byte opcode1, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble1018(opcode1, (byte) 0, base, index, scale);
            return;
        }
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble1023(byte opcode1, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble1019(opcode1, (byte) 0, base, index, scale);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble1024(byte opcode1, AMD64GeneralRegister16 register) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (register.value() >= 8) {
            rex |= (1 << 0) + 0x40; // opcode1 extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (opcode1 + (register.value()& 7))); // opcode1_rexb
    }

    private void assemble1025(byte opcode1, AMD64GeneralRegister16 destination) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble1026(byte opcode1, AMD64GeneralRegister64 register) {
        byte rex = (byte) 0;
        if (register.value() >= 8) {
            rex |= (1 << 0) + 0x40; // opcode1 extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (opcode1 + (register.value()& 7))); // opcode1_rexb
    }

    private void assemble1027(byte opcode1, AMD64GeneralRegister64 destination) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble1028(byte opcode1, AMD64IndirectRegister64 destination) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble1020(opcode1, (byte) 0, destination);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble1029(byte opcode1, AMD64IndirectRegister64 destination) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble1021(opcode1, (byte) 0, destination);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble1030(byte opcode1, int rel32) {
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble1031(byte opcode1, int rel32) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble1032(byte opcode1, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble1033(byte opcode1, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble1034(byte opcode1, int m32, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble1035(byte opcode1, int m32, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble1036(byte opcode1, int disp32, AMD64IndirectRegister64 destination) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble1037(byte opcode1, int disp32, AMD64IndirectRegister64 destination) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte(opcode1);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble1038(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble1039(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble1040(byte opcode2, AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble1038(opcode2, destination, (byte) 0, base, index, scale, imm8);
            return;
        }
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(imm8); // appended
    }

    private void assemble1041(byte opcode2, AMD64XMMRegister destination, AMD64IndirectRegister64 source, byte imm8) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble1039(opcode2, destination, (byte) 0, source, imm8);
            return;
        }
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(imm8); // appended
    }

    private void assemble1042(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source, byte imm8) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble1043(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source, byte imm8) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble1044(byte opcode2, AMD64XMMRegister destination, int rel32, byte imm8) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1045(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1046(byte opcode2, AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1047(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1048(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble1049(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble1050(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble1051(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble1052(byte opcode2, AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble1048(opcode2, destination, (byte) 0, base, index, scale, imm8);
            return;
        }
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(imm8); // appended
    }

    private void assemble1053(byte opcode2, AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble1049(opcode2, destination, (byte) 0, base, index, scale, imm8);
            return;
        }
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(imm8); // appended
    }

    private void assemble1054(byte opcode2, AMD64XMMRegister destination, AMD64IndirectRegister64 source, byte imm8) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble1050(opcode2, destination, (byte) 0, source, imm8);
            return;
        }
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(imm8); // appended
    }

    private void assemble1055(byte opcode2, AMD64XMMRegister destination, AMD64IndirectRegister64 source, byte imm8) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble1051(opcode2, destination, (byte) 0, source, imm8);
            return;
        }
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(imm8); // appended
    }

    private void assemble1056(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source, byte imm8) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble1057(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source, byte imm8) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble1058(byte opcode2, AMD64XMMRegister destination, int rel32, byte imm8) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1059(byte opcode2, AMD64XMMRegister destination, int rel32, byte imm8) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1060(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1061(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1062(byte opcode2, AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1063(byte opcode2, AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1064(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1065(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        emitByte(((byte) 0xF3)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1066(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble1067(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble1068(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble1069(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble1070(byte opcode2, AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble1066(opcode2, destination, (byte) 0, base, index, scale, imm8);
            return;
        }
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(imm8); // appended
    }

    private void assemble1071(byte opcode2, AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble1067(opcode2, destination, (byte) 0, base, index, scale, imm8);
            return;
        }
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(imm8); // appended
    }

    private void assemble1072(byte opcode2, AMD64XMMRegister destination, AMD64IndirectRegister64 source, byte imm8) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble1068(opcode2, destination, (byte) 0, source, imm8);
            return;
        }
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(imm8); // appended
    }

    private void assemble1073(byte opcode2, AMD64XMMRegister destination, AMD64IndirectRegister64 source, byte imm8) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble1069(opcode2, destination, (byte) 0, source, imm8);
            return;
        }
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(imm8); // appended
    }

    private void assemble1074(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source, byte imm8) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble1075(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source, byte imm8) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble1076(byte opcode2, AMD64XMMRegister destination, int rel32, byte imm8) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1077(byte opcode2, AMD64XMMRegister destination, int rel32, byte imm8) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1078(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1079(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1080(byte opcode2, AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1081(byte opcode2, AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1082(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1083(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        emitByte(((byte) 0xF2)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1084(byte opcode2, MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble1085(byte opcode2, MMXRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble1086(byte opcode2, MMXRegister destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble1087(byte opcode2, MMXRegister destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble1088(byte opcode2, MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble1084(opcode2, destination, (byte) 0, base, index, scale, imm8);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(imm8); // appended
    }

    private void assemble1089(byte opcode2, MMXRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble1085(opcode2, destination, (byte) 0, base, index, scale, imm8);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(imm8); // appended
    }

    private void assemble1090(byte opcode2, MMXRegister destination, AMD64IndirectRegister64 source, byte imm8) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble1086(opcode2, destination, (byte) 0, source, imm8);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(imm8); // appended
    }

    private void assemble1091(byte opcode2, MMXRegister destination, AMD64IndirectRegister64 source, byte imm8) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble1087(opcode2, destination, (byte) 0, source, imm8);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(imm8); // appended
    }

    private void assemble1092(byte opcode2, MMXRegister destination, MMXRegister source, byte imm8) {
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble1093(byte opcode2, MMXRegister destination, MMXRegister source, byte imm8) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble1094(byte opcode2, MMXRegister destination, MMXRegister source, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble1095(byte opcode2, MMXRegister destination, int rel32, byte imm8) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1096(byte opcode2, MMXRegister destination, int rel32, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1097(byte opcode2, MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1098(byte opcode2, MMXRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1099(byte opcode2, MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1100(byte opcode2, MMXRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1101(byte opcode2, MMXRegister destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1102(byte opcode2, MMXRegister destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1103(byte opcode2, byte modRmOpcode, AMD64XMMRegister destination, byte imm8) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble1104(byte opcode2, byte modRmOpcode, AMD64XMMRegister destination, byte imm8) {
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble1105(byte opcode2, byte modRmOpcode, AMD64XMMRegister destination, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte(((byte) 0x66)); // instruction selection prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble1106(byte opcode2, byte modRmOpcode, MMXRegister destination, byte imm8) {
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble1107(byte opcode2, byte modRmOpcode, MMXRegister destination, byte imm8) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble1108(byte opcode2, byte modRmOpcode, MMXRegister destination, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble1109(byte opcode1, short imm16) {
        emitByte(opcode1);
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble1110(byte opcode1, short imm16) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte(opcode1);
        // appended:
        emitByte((byte) (imm16 & 0xff));
        imm16 >>= 8;
        emitByte((byte) (imm16 & 0xff));
    }

    private void assemble1111(byte opcode2, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble1112(byte opcode2, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble1113(byte opcode2, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
    }

    private void assemble1114(byte opcode2, byte disp8, AMD64IndirectRegister64 destination) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble1115(byte opcode2, byte disp8, AMD64IndirectRegister64 destination) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble1116(byte opcode2, byte disp8, AMD64IndirectRegister64 destination) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
    }

    private void assemble1117(byte opcode2, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble1111(opcode2, (byte) 0, base, index, scale);
            return;
        }
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble1118(byte opcode2, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble1112(opcode2, (byte) 0, base, index, scale);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble1119(byte opcode2, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble1113(opcode2, (byte) 0, base, index, scale);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
    }

    private void assemble1120(byte opcode2, AMD64GeneralRegister8 destination) {
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 0; // rm field extension by REX.B bit
            }
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble1121(byte opcode2, AMD64GeneralRegister8 destination) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        if (destination.isHighByte()) {
            throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
        }
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble1122(byte opcode2, AMD64GeneralRegister8 destination) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.requiresRexPrefix()) {
            rex |= 0x40;
            if (destination.value() >= 8) {
                rex |= 1 << 0; // rm field extension by REX.B bit
            }
        }
        if (rex != (byte) 0) {
            if (destination.isHighByte()) {
                throw new IllegalArgumentException("Cannot encode " + destination.name() + " in the presence of a REX prefix");
            }
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble1123(byte opcode2, AMD64IndirectRegister64 destination) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble1114(opcode2, (byte) 0, destination);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble1124(byte opcode2, AMD64IndirectRegister64 destination) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble1115(opcode2, (byte) 0, destination);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble1125(byte opcode2, AMD64IndirectRegister64 destination) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble1116(opcode2, (byte) 0, destination);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
    }

    private void assemble1126(byte opcode2, int rel32) {
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble1127(byte opcode2, int rel32) {
        byte rex = (byte) 0x48;
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble1128(byte opcode2, int rel32) {
        emitByte(((byte) 0x66)); // operand size prefix
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
    }

    private void assemble1129(byte opcode2, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble1130(byte opcode2, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble1131(byte opcode2, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble1132(byte opcode2, int m32, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble1133(byte opcode2, int m32, AMD64IndexRegister64 index, Scale scale) {
        byte rex = (byte) 0x48;
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble1134(byte opcode2, int m32, AMD64IndexRegister64 index, Scale scale) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
    }

    private void assemble1135(byte opcode2, int disp32, AMD64IndirectRegister64 destination) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble1136(byte opcode2, int disp32, AMD64IndirectRegister64 destination) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble1137(byte opcode2, int disp32, AMD64IndirectRegister64 destination) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
    }

    private void assemble1138(byte opcode2, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble1139(byte opcode2, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source, byte imm8) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble1140(byte opcode2, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble1141(byte opcode2, byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble1142(byte opcode2, byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source, byte imm8) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble1143(byte opcode2, byte disp8, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble1144(byte opcode2, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source, byte imm8) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble1138(opcode2, (byte) 0, base, index, scale, source, imm8);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(imm8); // appended
    }

    private void assemble1145(byte opcode2, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source, byte imm8) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble1139(opcode2, (byte) 0, base, index, scale, source, imm8);
            return;
        }
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(imm8); // appended
    }

    private void assemble1146(byte opcode2, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source, byte imm8) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble1140(opcode2, (byte) 0, base, index, scale, source, imm8);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(imm8); // appended
    }

    private void assemble1147(byte opcode2, AMD64GeneralRegister16 destination, AMD64GeneralRegister16 source, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble1148(byte opcode2, AMD64GeneralRegister32 destination, AMD64GeneralRegister32 source, byte imm8) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble1149(byte opcode2, AMD64GeneralRegister64 destination, AMD64GeneralRegister64 source, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble1150(byte opcode2, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source, byte imm8) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble1141(opcode2, (byte) 0, destination, source, imm8);
            return;
        }
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(imm8); // appended
    }

    private void assemble1151(byte opcode2, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source, byte imm8) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble1142(opcode2, (byte) 0, destination, source, imm8);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(imm8); // appended
    }

    private void assemble1152(byte opcode2, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source, byte imm8) {
        if (destination == AMD64IndirectRegister64.RBP_INDIRECT || destination == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble1143(opcode2, (byte) 0, destination, source, imm8);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(imm8); // appended
    }

    private void assemble1153(byte opcode2, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1154(byte opcode2, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source, byte imm8) {
        byte rex = (byte) 0;
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1155(byte opcode2, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1156(byte opcode2, int rel32, AMD64GeneralRegister16 source, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1157(byte opcode2, int rel32, AMD64GeneralRegister32 source, byte imm8) {
        byte rex = (byte) 0;
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1158(byte opcode2, int rel32, AMD64GeneralRegister64 source, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1159(byte opcode2, int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister16 source, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1160(byte opcode2, int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister32 source, byte imm8) {
        byte rex = (byte) 0;
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1161(byte opcode2, int m32, AMD64IndexRegister64 index, Scale scale, AMD64GeneralRegister64 source, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1162(byte opcode2, int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister16 source, byte imm8) {
        emitByte(((byte) 0x66)); // operand size prefix
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1163(byte opcode2, int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister32 source, byte imm8) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1164(byte opcode2, int disp32, AMD64IndirectRegister64 destination, AMD64GeneralRegister64 source, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        rex |= (source.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        modRMByte |= (source.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        if (destination == AMD64IndirectRegister64.RSP_INDIRECT || destination == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1165(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble1166(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble1167(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble1168(byte opcode2, AMD64XMMRegister destination, byte disp8, AMD64IndirectRegister64 source, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((1 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(disp8); // appended
        emitByte(imm8); // appended
    }

    private void assemble1169(byte opcode2, AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble1165(opcode2, destination, (byte) 0, base, index, scale, imm8);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(imm8); // appended
    }

    private void assemble1170(byte opcode2, AMD64XMMRegister destination, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        if (base == AMD64BaseRegister64.RBP_BASE || base == AMD64BaseRegister64.R13_BASE) {
            assemble1166(opcode2, destination, (byte) 0, base, index, scale, imm8);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        emitByte(imm8); // appended
    }

    private void assemble1171(byte opcode2, AMD64XMMRegister destination, AMD64IndirectRegister64 source, byte imm8) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble1167(opcode2, destination, (byte) 0, source, imm8);
            return;
        }
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(imm8); // appended
    }

    private void assemble1172(byte opcode2, AMD64XMMRegister destination, AMD64IndirectRegister64 source, byte imm8) {
        if (source == AMD64IndirectRegister64.RBP_INDIRECT || source == AMD64IndirectRegister64.R13_INDIRECT) {
            assemble1168(opcode2, destination, (byte) 0, source, imm8);
            return;
        }
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        emitByte(imm8); // appended
    }

    private void assemble1173(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source, byte imm8) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble1174(byte opcode2, AMD64XMMRegister destination, AMD64XMMRegister source, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        emitByte(imm8); // appended
    }

    private void assemble1175(byte opcode2, AMD64XMMRegister destination, int rel32, byte imm8) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1176(byte opcode2, AMD64XMMRegister destination, int rel32, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 5 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        // appended:
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        rel32 >>= 8;
        emitByte((byte) (rel32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1177(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (base.value() >= 8) {
            rex |= (1 << 0) + 0x40; // SIB base field extension by REX.B bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1178(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64BaseRegister64 base, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (base.value() & 8) >> 3; // SIB base field extension by REX.B bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) 0;
        sibByte |= (base.value() & 7) << 0; // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1179(byte opcode2, AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (index.value() >= 8) {
            rex |= (1 << 1) + 0x40; // SIB index field extension by REX.X bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1180(byte opcode2, AMD64XMMRegister destination, int m32, AMD64IndexRegister64 index, Scale scale, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (index.value() & 8) >> 2; // SIB index field extension by REX.X bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((0 << 6)); // mod field
        modRMByte |= 4 << 0; // rm field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        emitByte(modRMByte);
        byte sibByte = (byte) (5 << 0); // base field
        sibByte |= (index.value() & 7) << 3; // index field
        sibByte |= scale.value() << 6; // scale field
        emitByte(sibByte);
        // appended:
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        m32 >>= 8;
        emitByte((byte) (m32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1181(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 2) + 0x40; // mod field extension by REX.R bit
        }
        if (source.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1182(byte opcode2, AMD64XMMRegister destination, int disp32, AMD64IndirectRegister64 source, byte imm8) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 1; // mod field extension by REX.R bit
        rex |= (source.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((2 << 6)); // mod field
        modRMByte |= (destination.value() & 7) << 3; // reg field
        modRMByte |= (source.value() & 7) << 0; // rm field
        emitByte(modRMByte);
        if (source == AMD64IndirectRegister64.RSP_INDIRECT || source == AMD64IndirectRegister64.R12_INDIRECT) {
            emitByte(((byte) 0x24)); // SIB byte
        }
        // appended:
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        disp32 >>= 8;
        emitByte((byte) (disp32 & 0xff));
        emitByte(imm8); // appended
    }

    private void assemble1183(byte opcode2, byte modRmOpcode, AMD64GeneralRegister32 destination) {
        byte rex = (byte) 0;
        if (destination.value() >= 8) {
            rex |= (1 << 0) + 0x40; // rm field extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble1184(byte opcode2, byte modRmOpcode, AMD64GeneralRegister64 destination) {
        byte rex = (byte) 0x48;
        rex |= (destination.value() & 8) >> 3; // rm field extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (0x0F)); // opcode1
        emitByte(opcode2);
        byte modRMByte = (byte) ((3 << 6) | (modRmOpcode << 3)); // mod field, group opcode in reg field
        modRMByte |= (destination.value() & 7) << 0; // rm field
        emitByte(modRMByte);
    }

    private void assemble1185(byte opcode1, AMD64GeneralRegister32 register) {
        byte rex = (byte) 0;
        if (register.value() >= 8) {
            rex |= (1 << 0) + 0x40; // opcode1 extension by REX.B bit
        }
        if (rex != (byte) 0) {
            emitByte(rex);
        }
        emitByte((byte) (opcode1 + (register.value()& 7))); // opcode1_rexb
    }

    private void assemble1186(byte opcode1, AMD64GeneralRegister64 register) {
        byte rex = (byte) 0x48;
        rex |= (register.value() & 8) >> 3; // opcode1 extension by REX.B bit
        emitByte(rex);
        emitByte((byte) (opcode1 + (register.value()& 7))); // opcode1_rexb
    }

// END GENERATED RAW ASSEMBLER METHODS
}